setItemWidget导致崩溃

5

我试图将一个 QLabel 添加到一个 QTreeWidgetItem 上,但是在调用 setItemWidget 时 Python 崩溃了。

有任何想法为什么会崩溃吗?

以下是代码:

from PySide import QtCore, QtGui

view = QtGui.QTreeWidget()
view.show()

newItem =  QtGui.QTreeWidgetItem(view)
view.setItemWidget(newItem,0,QtGui.QLabel('abc'))
1个回答

8

您需要保留标签的引用,或者将其设置为父级:

    view.setItemWidget(newItem, 0, QtGui.QLabel('abc', view))

很好了解。我从来不知道Qt的哪一部分设置父级,哪一部分不设置。例如layout.addWidget(QtGui.QLabel('abc'))是无害的。 - Trilarion
我之前在setItemWidget()函数外声明了widget,结果程序一直崩溃。使用你的方法后,程序看起来更加稳定了。 view.setItemWidget(newItem, 0, QtGui.QLabel('abc', view)); widget= view.itemWidget(newItem, 0) - Adam Sirrelle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接