Re: [問題] QPainter繪圖疑問

看板Python作者 (sbr)時間16年前 (2009/02/21 00:46), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《k80092 (遊)》之銘言: : 參照範例所生成的方法是 : *....... : self.paint = QtGui.QPainter() : def paintEvent(self,Event): : self.paint.begin(self) : self.paint.setPen(QtCore.Qt.red) : size = self.size() : self.paint.setBrush(QtGui.QColor(10, 200, 2, 255)) : self.paint.drawRect(0, 0, 250, 150) : self.paint.end() : 但是不管怎麼用,畫圖似乎只能在paintEvent這個方法中使用 : 如果我想另開一個方法在我呼叫的時候才進行視窗上的描繪, : 請問我應該怎麼撰寫才好?煩請指教了..Orz 沒有用過 QPainter. 但我想你應該是設計成 paintEvent 專注於負責依照元件的狀態去繪製特定的 外觀. 而呼叫某個方法是改變元件的狀態並令元件重繪自己. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.133.197

02/21 00:54, , 1F
目前就卡在不知如何重繪其原有圖形,也就是說當我執行過一
02/21 00:54, 1F

02/21 00:55, , 2F
次paintEvent後就無法再執行第二次,想知道怎麼執行第二次
02/21 00:55, 2F
paintEvent 是 framework 在適當的時候去執行(callback)使你的 widget 能夠 繪製自己的外觀. 如果元件發現自己的狀態有變需要更新外觀, 可以發出 repaint 的要求: void QWidget::repaint() http://doc.trolltech.com/3.3/qwidget.html#repaint-2 ※ 編輯: sbrhsieh 來自: 218.173.133.197 (02/21 01:18)
文章代碼(AID): #19djw0Zp (Python)
討論串 (同標題文章)
文章代碼(AID): #19djw0Zp (Python)