QT paintEvent調用時間

當發生一下情況時會產生繪製事件並調用paintEvent()函數:

1.在窗口部件第一次顯示時,系統會自動產生一個繪圖事件,從而強制繪製這個窗口部件。

2.當重新調整窗口部件的大小時,系統也會產生一個繪製事件。

3.當窗口部件被其他窗口部件遮擋,然後又再次顯示出來的時候,就會對那些隱藏的區域產生一個繪製事件。

同時可以調用QWidget::update()或者QWidget::repaint()來強制產生一個繪製事件。二者的區別是:

repaint()函數會強制產生一個即時的重繪事件,而update()函數只是在Qt下一次處理事件時才調用一次繪製事件。

如果多次調用update(),Qt會把連續多次的繪製事件壓縮成一個單一的繪製事件,這樣可避免閃爍現象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章