1. 程式人生 > >Qt繪圖學習(1)

Qt繪圖學習(1)

int() 繪圖 自動 程序 時機 如果 被調用的時機 被調用 學習

paintEvent()被調用的時機;
1.當窗口第一次被show()的時候,Qt程序會自動產生一個繪圖事件,調用繪圖事件;
2.重新調整窗口部件大小的時候,系統也會產生一個繪制事件。
3.當窗口部件被其他窗口部件遮擋,然後又再次顯示出來的時候,就會對那些隱藏的區域產生一個繪制事件。
同時可以調用QWidget::update()或者QWidget::repaint()來強制產生一個繪制事件。二者的區別是:
repaint()函數會強制產生一個即時的重繪事件,而update()函數只是在Qt下一次處理事件時才調用一次繪制事件。
如果多次調用update(),Qt會把連續多次的繪制事件壓縮成一個單一的繪制事件,這樣可避免閃爍現象。
遇到的問題:曾經在paintEvent中調用update(),會產生死循環導致程序卡慢;


Qt繪圖學習(1)