更改 QTreeWidget 的选择

Change selection of a QTreeWidget

本文关键字:选择 QTreeWidget 更改      更新时间:2023-10-16

我正在使用QTreeWidget来显示一些项目。我只有一列,我的树的深度为两。我想添加以下功能:如果选择/取消选择顶级项目并且未展开,则也应选择/取消选择其子项。问题是我如何找出选择何时更改。

我正在为我的自定义小部件子类化QTreeWidget。我可以连接到 QTreeWidget 的 selectionChanged() 插槽,但在这种情况下,我必须遍历所有顶级项目,找出它们的选择状态是否已更改(所以我还需要存储选择状态),并相应地更新所有内容。

我认为应该有一个 selectionChanged() 信号,它提供了有关选择的更多信息,但我在文档中找不到任何内容。对此有什么想法吗?

通过选择/取消选择子项,您是否意味着它们应该被扩展(如果选择)?还有一个建议,而不是使用 QTreeWidget,我认为 QTreeView 是一个更好的选择,如果你能更多地解释这个问题,也许我可以提供一些示例代码