2024-10-05 12:15:41 发布
网友
我有以下测试代码:
import sys from PySide.QtGui import * app = QApplication(sys.argv) widget = QWidget() painter = QPainter(widget)
在创建qpanter对象时,我得到错误消息:
为什么?在
如果你想在一个小部件内绘制一些东西,你需要使用小部件的paintEvent来定义一个QPainter。此方法允许为立即绘制声明Qpainter,并且通过这种方式避免调用Qpainter.begin()和{}。在
paintEvent
QPainter
Qpainter
Qpainter.begin()
class MyWidget(QWidget): def __init__(self): super().__init__() def paintEvent(self, event): painter = QPainter(self) painter.drawLine(0, 0, 100, 100) app = QApplication(sys.argv) widget = MyWidget() widget.show() sys.exit(app.exec_())
http://doc.qt.io/qt-5/qpainter.html#details
Warning: When the paintdevice is a widget, QPainter can only be used inside a paintEvent() function or in a function called by paintEvent().
如果你想在一个小部件内绘制一些东西,你需要使用小部件的}。在
paintEvent
来定义一个QPainter
。此方法允许为立即绘制声明Qpainter
,并且通过这种方式避免调用Qpainter.begin()
和{http://doc.qt.io/qt-5/qpainter.html#details
相关问题 更多 >
编程相关推荐