PyQt4:使用QTreeWidgetItem时,关闭时为什么Python崩溃?

1 投票
1 回答
694 浏览
提问于 2025-04-15 22:33

我正在使用Python 3.1.1和PyQt4(不太确定怎么查看这个版本号)。每次我退出我的应用程序时,Python都会崩溃。我以前见过这种情况,通常是垃圾回收的问题,但这次我不太确定该怎么解决。

这段代码会崩溃:

import sys
from PyQt4 import QtGui

class MyWindow(QtGui.QMainWindow):

    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)
        self.tree = QtGui.QTreeWidget(self)
        self.setCentralWidget(self.tree)
        QtGui.QTreeWidgetItem(self.tree)  # This line is the problem
        self.show()


app = QtGui.QApplication(sys.argv)
mw = MyWindow()
sys.exit(app.exec_())

如果我把注释掉的那一行去掉,代码就能正常退出。如果我去掉初始化时的'self.tree'父级,代码也能正常退出。如果我尝试使用self.tree.addTopLevelItem,代码又会崩溃。

这可能是什么问题呢?

1 个回答

1

在最近的SIP/PyQt版本中,它不会崩溃。

撰写回答