PyQt5程序报错:QPaintDevice: Cannot destroy paint device that is being painted/Process finished with exit code -1073740791 (0xC0000409)
QPainter
QPainter类在QWidget (控件)上执行绘图操作,它是一个绘制工具,为大部分图形界面提供了高度优化的函数,使QPainter类可以绘制从简单的直线到复杂的饼图等。
绘制操作在QWidget.paintEvent()中完成。绘制方法必须放在QtGui.QPainter对象的begin()和end()之间。QPainter类在控件或其他绘图设备上执行较低级别的图形绘制功能,并通过如表4-27所示的方法进行绘制。
2021-09-07 Tuesday 调试程序PyQt5/Chapter04/qt04_painter.py时,程序报错:
QPaintDevice: Cannot destroy paint device that is being painted
Process finished with exit code -1073740791 (0xC0000409)
错误原因:
未严格执行“绘制方法必须放在QtGui.QPainter对象的begin()和end()之间。”
修改程序:
# 打印
painter.begin(self)
painter.drawImage(0, 0, self.image)
painter.end()
一切OK!