作者Arim (Arim5566)
看板C_and_CPP
標題[問題] Qt重繪畫布
時間Thu Oct 25 17:53:01 2012
各位版友好
如果我想在Qt重繪畫布
可以使用update()或repaint()
一般都建議用update比較有效率
可是我發現update好像不是馬上重畫
例如
void method()
{
update()
t=t+1
}
然後update會呼叫paintevent()
可是我發現t=t+1會比update()還要先執行@@(不太清楚是不是多執行緒)
如果我paintevent()中有需要用到t的話,結果就不是我預期的結果了@@
我預期的結果是update()執行完之後才執行t=t+1
如果我把update改成repaint的話
結果又不一樣了...
想請問update跟repaint具體的差異是甚麼?
網路上面的文件說明實在是有看沒有懂@@
謝謝
--
~宅男的四個徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.169.131
※ 編輯: Arim 來自: 140.117.169.131 (10/25 17:53)
推 Serge45:需要立即重畫就用 repaint,update我用起來像是累積一定 10/25 18:32
→ Serge45:的量才會呼叫 paintEvent 10/25 18:33
謝謝,看了官方的doc也是說執行一次update相當於執行好幾次的repaint
所以目前我比較不清楚的地方在於什麼時候該用update,什麼時候該用repaint@@
※ 編輯: Arim 來自: 140.117.169.131 (10/25 19:01)
※ 編輯: Arim 來自: 140.117.169.131 (10/25 19:24)
※ 編輯: Arim 來自: 140.117.169.131 (10/25 19:24)