如何检查复选框在QTreeWidget中是否被选中或取消选中?展示了如何获取QTreeWidget项目上复选框的状态。使用这种方法,通过树形结构中的itemClicked信号,我可以查询所选项目是否被选中。然而,我需要跟踪此项目,以确定它先前是否被选中过。
有没有一种方法可以知道QTreeWidgetItem是否具有切换复选框,而无需为其创建子类,即使该项目可能处于不同级别的父项目中?
顺便说一句,QT为什么没有将toggled方法附加到QTreeWidgetItem上?
有没有一种方法可以知道QTreeWidgetItem是否具有切换复选框,而无需为其创建子类,即使该项目可能处于不同级别的父项目中?
顺便说一句,QT为什么没有将toggled方法附加到QTreeWidgetItem上?
itemClicked
信号不是处理treewidget复选框的好选择。itemChanged
信号,无论何时进行其他类型的更改。
QTreeWidget
是一个方便的类,因此可能有很多人可能合法地想要的功能,但永远不会被添加。在这种特殊情况下,我认为在发送“itemChanged”信号时未包含数据角色是一个错误。不过,您始终可以通过子类化QTreeWidgetItem
(或QTreeView
)轻松解决这些问题。 - ekhumoro