gpt4 book ai didi

python - 这段在 Pyqt 中创建 QPolygon 的代码正在停止我的应用程序!帮助?

转载 作者:可可西里 更新时间:2023-11-01 10:29:38 27 4
gpt4 key购买 nike

大家好,

以下代码:

self.painter = QtGui.QPainter(self)
self.painter.setRenderHint(QPainter.Antialiasing)
self.painter.translate(482,395)
self.painter.scale(300,300)
self.painter.save()
needle = Qt.QPolygon([QPoint(30, 0), QPoint(-30, 0), QPoint(0, 200)])
self.painter.setBrush(Qt.cyan)
self.painter.setPen(Qt.black)
self.painter.drawPolygon(needle)
self.painter.restore()

导致我的 Pyqt 应用程序崩溃。有谁知道为什么?它是我的 ui_form.py 文件的一部分,由 pyuic4 自动吐出。删除/注释掉它可以解决问题。是的,这是我自己写的,而不是编译器做的。

非常感谢!

最佳答案

将传递给 QPolygon 构造函数的列表保存在局部变量中。我猜这些元素会在调用返回后立即被垃圾回收,因此当您绘制多边形时,它们就不再存在了。

points = [QPoint(30, 0), QPoint(-30, 0), QPoint(0, 200)]
needle = Qt.QPolygon(points)

关于python - 这段在 Pyqt 中创建 QPolygon 的代码正在停止我的应用程序!帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3828489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com