【问题标题】:setItemWidget causing crashsetItemWidget 导致崩溃
【发布时间】:2015-02-23 00:12:38
【问题描述】:

我正在尝试将 QLabel 添加到 QTreeWidgetItem,但 Python 在调用 setItemWidget 时崩溃。

知道为什么会崩溃吗?

代码如下:

from PySide import QtCore, QtGui

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

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

【问题讨论】:

    标签: python qt pyqt pyside


    【解决方案1】:

    您需要保留对标签的引用,或者给它一个父级:

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

    【讨论】:

    • 很高兴知道。我从来不知道 Qt 的哪个部分设置了父级,哪个没有。例如 layout.addWidget(QtGui.QLabel('abc')) 是无害的。
    • 我在 setItemWidget() 之外声明了小部件,但它一直在崩溃。使用你的方法似乎更快乐。 view.setItemWidget(newItem, 0, QtGui.QLabel('abc', view));小部件= view.itemWidget(newItem, 0)
    猜你喜欢
    • 2016-02-11
    • 2018-01-23
    • 2020-12-02
    • 2013-11-11
    • 2011-01-24
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多