2011-10-24 32 views
0

我在Qt(C++)中創建了一個簡單的Paint程序,您可以在其中選擇一個形狀,並沿着您的鼠標在畫布上進行操作,直至單擊,此時該形狀鎖定在該位置的屏幕上。然後用戶可以以這種方式繼續,向屏幕添加越來越多的形狀。我的問題在於在點擊後讓這些形狀保持原位。我嘗試使用this-> setAttribute(Qt :: WA_OpaquePaintEvent,true),但只要我再次將該屬性設置爲false,我就會丟失數據。有什麼方法可以「鎖定」屏幕,以便在新東西被覆蓋的情況下保留舊屏幕?Qt重繪持久性

回答

0

如果你想保留繪製的數據,你應該首先繪製一個QPixmap然後在你的小部件上繪製這個QPixmap。