看板 Python 關於我們 聯絡資訊
各位版友好 我想用滑鼠按一下就可以依照滑鼠目前位置畫出一個圓點出來 每次按滑鼠之後都會呼叫repaint來呼叫paintEvent def paintEvent(self, event): print "paint event" if mousePush == True: qp = QtGui.QPainter() qp.begin(self) self.drawPoints(qp) qp.end() 但每次執行paintEvent之後 ,之前畫的東西都會消失(例如之前畫的點) 如何使之前畫的東西不會消失? 而QPainter.begin()又只能放在paintEvent裡面@@ 請問應該怎麼修改? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.169.131 ※ 編輯: Arim 來自: 140.117.169.131 (09/13 18:58)
cccx:試試搭配 mousePressEvent 和 mouseReleaseEvent 抓滑鼠動作 09/14 00:35
cccx:還有你要在哪種物件上畫點? QWidget 還是 QGraphicsView? 09/14 00:39
我是直接畫在QWidget上 對了,我用QGraphicsView似乎沒有辦法跟painter搭在一起 畫出來的東西都是空白的@@ 可是painter卻是active 最近找到一個方法就是可以把之前畫的點存起來,最後再paintevent重畫 ※ 編輯: Arim 來自: 140.117.169.131 (09/14 16:27) ※ 編輯: Arim 來自: 140.117.169.131 (09/14 18:48) ※ 編輯: Arim 來自: 140.117.169.131 (09/14 18:52)