[問題] Qt重繪畫布

看板C_and_CPP (C/C++)作者 (Arim5566)時間13年前 (2012/10/25 17:53), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
各位版友好 如果我想在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)

10/25 18:32, , 1F
需要立即重畫就用 repaint,update我用起來像是累積一定
10/25 18:32, 1F

10/25 18:33, , 2F
的量才會呼叫 paintEvent
10/25 18:33, 2F
謝謝,看了官方的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)
文章代碼(AID): #1GYGm1ju (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
1
2
文章代碼(AID): #1GYGm1ju (C_and_CPP)