-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