看板 C_and_CPP 關於我們 聯絡資訊
各位版友好 如果我想在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)