由 siyuan.nz » 週一 4月 06, 2009 6:16 pm
所有 Qt4 Widget 都有 double buffer,但是自己畫的圖沒有。在 C++ GUI Programming with Qt4 這本書裡有一章節提到一個例子要用 double buffer,有興趣可以參考看看。書裡的例子是一個很簡單的 2D plotter,如果沒事就要 repaint,重新算那線要怎麼畫會很慢。這時用個 pixmap buffer 來存已畫好的圖,需要 repaint 時直接把圖貼回來就好,不必重新算。
其實我覺得如果 Graphics View 適用,會比自己畫還容易。每個 Graphics Item 就當物件一樣,可以輕鬆移位或做其它處理,更方便的是 Graphics Item 還可以接收滑鼠或鍵盤的 event。。自己畫還得考慮怎麼 repaint,有時又要算在新的位置怎麼畫。