为了账号安全,请及时绑定邮箱和手机立即绑定

如何测试双击的项是否位于 QTreeWidget 的底部

如何测试双击的项是否位于 QTreeWidget 的底部

慕盖茨4494581 2022-08-25 15:50:49
我有一个具有以下形状的QTreeWidget:Root - Item1 -- Sub11 --- Sub111 -- Sub12 --- Sub121 ...双击 QTreeWidget 中的任何项目时,默认情况下,所选内容都会展开(如果已展开,则为折叠)。我创建了一个简单的函数tree_get_details(self,item,column)来打印双击项目的项目和列,并将其与itemDoubleClicked连接起来。到目前为止,这工作得很好。但是,我如何使此函数仅在树的底层可用(即对于子XXX行)。因此,对于根,项目1,项目2,子11,Sub12只是双击事件的默认行为,对于子111,Sub121打印项目和列?不知何故,我需要在我的函数中测试tree_get_details参数中传递的“item”是否在底层。我知道topLevelItem方法,但找不到相应的底部方法(如果它存在...)。我的树有 4 级层次结构。
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

这取决于你对“底部项目”的确切含义。树中“底部项目”的通常名称是“叶项目”。它被定义为没有子项的项目。这是你可以用QTreeWidgetItem::childCount方法检查的东西(当且仅当它返回时,它才是一片叶子)。0

如果出于任何原因,您希望检测第三个子级别中的项目,则可以递归计算父项目的数量。这稍微复杂一些,可能不是你想要的。


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信