Re: [問題] QPainter繪圖疑問

看板Python作者 (遊)時間16年前 (2009/02/21 01:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
感謝sbrhsieh的回應~已經有弄出來了,原來paintEvent這個方法 可以隨時呼叫使用,可是我的做法比較笨...也許有更好的做法, 以下是我剛實做的一個範例程式。 import sys,time,thread,binascii from PyQt4 import QtGui, QtCore class dw(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.parent = parent self.setMinimumSize(250, 150) def paintEvent(self,Event): paint = QtGui.QPainter() paint.begin(self) paint.setPen(QtCore.Qt.red) size = self.size() paint.setBrush(QtGui.QColor(10, 200, 2, 255)) paint.drawRect(0, 0, 250, 150) i = self.parent.i if i==1: paint.drawLine(0, 0, 250, 150) paint.end() class mainWindow(QtGui.QWidget): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 300, 250, 150) self.setWindowTitle('Points') self.i=0 self.dw = dw(self) hbox = QtGui.QHBoxLayout() hbox.addWidget(self.dw) def mousePressEvent(self, event): self.i=1 print self.i self.update() #self.dw.repaint() app = QtGui.QApplication(sys.argv) mw = mainWindow() mw.show() app.exec_() 利用repaint()可以放入四個參數,選擇自己要的重繪區塊! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.83.53 ※ 編輯: k80092 來自: 59.127.83.53 (02/21 02:18)
文章代碼(AID): #19dkd2LA (Python)
文章代碼(AID): #19dkd2LA (Python)