看板 Python 關於我們 聯絡資訊
※ 引述《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)