-1
我有這樣的代碼:QWidget的畫家
import sys, random, pprint
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5 import QtGui
from PyQt5.QtCore import Qt
class Window(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(QtCore.QRect(200, 200, 700, 700))
self.widget = QtWidgets.QWidget(self)
self.widget.setGeometry(QtCore.QRect(10, 10, 400, 200))
self.widget.setObjectName("widget")
def paintEvent(self, event):
painter = QtGui.QPainter()
painter.begin(self.widget)
self.drawPoints(painter)
painter.end()
def drawPoints(self, painter):
#drawing code
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
ex = Window()
ex.show()
sys.exit(app.exec_())
什麼我想到:這將由drawPoints()
畫區(400x200)。 QWidget
繼承QPaintDevice
。所以這段代碼應該工作。但是,控制檯說:
了QPainter ::開始:噴漆設備返回的發動機== 0,類型:1點
了QPainter ::結束:畫家不活躍,中止
能不能幫我, 請。
初始化畫筆使用空油漆設備造成的問題。換句話說,畫家沒有什麼可以借鑑的。什麼是'self.widget'? – vahancho
@vahanco self.widget = QtWidgets.QWidget(self) – cheremushkin