一个'事件'是什么意思?在用pyside画东西的背景下?

时间:2014-05-13 18:25:22

标签: python pyside

在使用pyside here进行绘制的教程中,覆盖了paintEvent方法(?)以绘制内容。实际代码是:

def paintEvent(self, event):
    qp = QtGui.QPainter()
    qp.begin(self)
    self.drawText(event, qp)
    qp.end()

对象'事件'在这个例子中表示什么?为什么我需要一个'事件'?为什么我不能用

之类的东西画一些东西
self.drawText(my_text)

没有'事件'对象

1 个答案:

答案 0 :(得分:1)

paintEvent确实是从QWidget继承而来的。您可以看到它的文档here

event变量实际上是QPaintEvent,在文档中已经非常清楚地解释了这一点:

  

QPaintEvent类包含绘制事件的事件参数。

     

将Paint事件发送到需要自行更新的小部件   实例,当窗口小部件的一部分因为覆盖小部件而被公开时   感动了。

     

该事件包含需要更新的region()和rect()   这是该区域的边界矩形。两者都提供   因为许多小部件不能大量使用region(),而rect()可以   比region()。boundingRect()。

快得多

基本上,由于性能原因,应用程序似乎可以使用event中的信息仅重新绘制QWidget的一部分,而不是全部。但他们也可以忽略它并重新绘制整个事物。