Re: [問題] QPainter繪圖疑問
感謝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)
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章