【问题标题】:QTreeWidget Expanding individual Items from memory in C++QTreeWidget在C ++中从内存中扩展单个项目
【发布时间】:2014-11-28 12:02:22
【问题描述】:

我有一个 Qt QTreeWidget,我正在尝试保存展开的标题项的状态,以便当我用新信息刷新树时,它可以重新展开之前展开的项。

每次发出 itemExpandeditemCollapsed signal 时,我都会在 slot 中捕获它并保存到成员 boolean 以表示该特定项目现在是否扩展为 true 或 @987654328 @。这是我的记忆。

刷新树时,我完全使用清除树

clear();

接下来我使用

折叠所有标题
collapseAll();

现在我想恢复哪些项目已展开,并使用每个 boolean 将它们设置为展开,这表示该项目之前是使用展开还是折叠

expandItem();

我不太确定如何仅从我的boolean 获取项目的索引。

我以为

indexOfTopLevelItem(0);

会给我toplevelitem 在位置 0 的索引,然后使用与位置 0 关联的boolean,然后我可以决定是否扩展该项目?

这也不能解决我想要对代表树中每个项目的每个“布尔值”执行此操作的问题。

提前致谢。

【问题讨论】:

    标签: c++ qt qtreewidget qtreewidgetitem


    【解决方案1】:

    itemExpanded() 信号的参数是指向QTreeWidgetItem 的指针。使用指向QTreeWidgetItem 的指针,您可以调用QTreeWidget::indexOfTopLevelItem,它将返回展开项的索引。如果你只是用你的布尔值来存储它,你应该有足够的信息来在内容更新后恢复项目的状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多