在使用pyside here进行绘制的教程中,覆盖了paintEvent
方法(?)以绘制内容。实际代码是:
def paintEvent(self, event):
qp = QtGui.QPainter()
qp.begin(self)
self.drawText(event, qp)
qp.end()
对象'事件'在这个例子中表示什么?为什么我需要一个'事件'?为什么我不能用
之类的东西画一些东西self.drawText(my_text)
没有'事件'对象
答案 0 :(得分:1)
paintEvent确实是从QWidget继承而来的。您可以看到它的文档here。
event
变量实际上是QPaintEvent,在文档中已经非常清楚地解释了这一点:
QPaintEvent类包含绘制事件的事件参数。
将Paint事件发送到需要自行更新的小部件 实例,当窗口小部件的一部分因为覆盖小部件而被公开时 感动了。
该事件包含需要更新的region()和rect() 这是该区域的边界矩形。两者都提供 因为许多小部件不能大量使用region(),而rect()可以 比region()。boundingRect()。
快得多
基本上,由于性能原因,应用程序似乎可以使用event
中的信息仅重新绘制QWidget的一部分,而不是全部。但他们也可以忽略它并重新绘制整个事物。