我在向QTreeWidget的顶层项添加子项时遇到问题。 我有一个QTreeWidget,用户可以在其中单击一个按钮来添加名为“steps”的项目。它只包含两个级别,如下例所示:
- TreeWidget
- step1
- step1.1
- step1.2
- [add sub-step button]
- step2
- step2.1
- [add sub-step button]
- [add step button]
因此,当点击“添加子步骤按钮”时,它应该在按钮之前向相关的顶层项添加一个新的子项,这样就可以正常工作了。但是当“添加步骤按钮”被单击时,它应该添加一个顶级项并向其中添加一个子项,其中包含一个新按钮。问题在于为新按钮添加子项。
按钮连接到此插槽:
我没有错误消息,但当我单击“添加步骤按钮”时,它只添加顶层项,而不添加包含该按钮的子项。我在qt文档或google上找不到任何原因。
我尝试了什么(但仍然没有在“newStep”中添加一个孩子):
newStep.addChild(child)
替换为self.treeWidget.invisibleRootItem().child(index).addChild(child)
self.treeWidget.invisibleRootItem().child(0)
(这是有效的)我使用的是pyside2,它在2018年5月的python解释器中执行(如果这个信息有用的话)
这里有一个git-hub链接,指向我代码的一个简化版本,这样您就可以自己测试:addStepsExample 有人能看到并解释出什么问题吗?在
问题其实很简单,当在显示
QTreeWidget
之后将子项添加到项中时,默认情况下会折叠这些项,因此不会观察到它,解决方案是展开它:相关问题 更多 >
编程相关推荐