gpt4 book ai didi

c++ - 从 QTreeWidget 再次获取 QTreeWidgetItem 列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:45 26 4
gpt4 key购买 nike

我该怎么做?实际上我的主要目标是获取 QTreeWidget 中的哪个复选框被选中。但如果你们帮我解决这个问题,我可以做到这一点。好吧,我找不到给我 QList<QTreeWidgetItem *> 的方法再次这样我就可以遍历列表并检查复选框是否被选中(奇怪的句子,是吧?)。 QTreeWidget::selectedItems()不做我想做的事。它实际上获取了所选项目(可以只是一个。所以我不知道 itemS 在这里意味着什么。反正我可能是错的)。

我现在的主要目标是:完成 QTreeWidget能够用它做任何我想做的事情。

提前致谢。

最佳答案

由于您正在处理一棵树,因此 API 旨在让您可以访问树结构中的 QTreeWidgetItem。因此,没有直接的方法可以通过 Qt 的 API 直接访问每个 QTreeWidgetItem。但是,您可以通过两种方式执行此操作:

1) 如果您的所有项目(或您关心的所有项目)都是“顶级”,那么您可以这样做:

for( int i = 0; i < tree->topLevelItemCount(); ++i )
{
QTreeWidgetItem *item = tree->topLevelItem( i );

// Do something with item ...
}

2) 如果您需要访问树中的每个项目以及该项目的子项,那么递归方法可能是有序的:

doStuffWithEveryItemInMyTree( tree->invisibleRootItem() );

void doStuffWithEveryItemInMyTree( QTreeWidgetItem *item )
{
// Do something with item ...

for( int i = 0; i < item->childCount(); ++i )
doStuffWithEveryItemInMyTree( item->child(i) );
}

关于c++ - 从 QTreeWidget 再次获取 QTreeWidgetItem 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com