作者sbrhsieh (sbr)
看板Python
標題Re: [問題] QPainter繪圖疑問
時間Sat Feb 21 00:46:53 2009
※ 引述《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
推 k80092:目前就卡在不知如何重繪其原有圖形,也就是說當我執行過一 02/21 00:54
→ k80092:次paintEvent後就無法再執行第二次,想知道怎麼執行第二次 02/21 00:55
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)