Qt4 中,QtGui.QWidget.paintEvent() 是自动运行?
PyQt4 新手,看到一段例程是这样写的:
import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): self.text = u'u041bu0435u0432 u041du0438u043au043eu043bu0430 u0435u0432u0438u0447 u0422u043eu043bu0441u0442u043eu0439: n u0410u043du043du0430 u041au0430u0440u0435u043du0438u043du0430' self.setGeometry(300, 300, 280, 170) self.setWindowTitle('Draw text') self.show() def paintEvent(self, event): # <------------ 从哪开始调用这个方法的? qp = QtGui.QPainter() qp.begin(self) self.drawText(event, qp) qp.end() def drawText(self, event, qp): qp.setPen(QtGui.QColor(168, 34, 3)) qp.setFont(QtGui.QFont('Decorative', 10)) qp.drawText(event.rect(), QtCore.Qt.AlignCenter, self.text) def main(): app = QtGui.QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) if __name__ == '__main__': main()
我找不到 paintEvent() 是在哪开始运行的,期望中应该是下面的样子:
... ... class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.initUI() self.paintEvent() # <---------------- 在初始化时执行 paintEvent() ... ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个函数你不用调用,你只负责重写就行了,调用是Qt事件循环的责任。