gpt4 book ai didi

c++ - QTreeView:维护QModelIndex与底层数据的映射

转载 作者:行者123 更新时间:2023-11-30 02:52:25 25 4
gpt4 key购买 nike

我在从 QTreeWidget 迁移到 QtreeView 时遇到问题。对于 QTreeWidget 来说显而易见且微不足道的事情在 View 中似乎是不可能的。具体来说:我有一个带有 TreeView 的主窗口。 TreeView 使用我已经实现的模型,但不是直接使用——通过设置为树模型的 QSortFilterProxyModel。现在,用户激活树中的一个项目,主窗口接收到信号 itemActivated(QModelIndex item)。我如何知道基础数据的哪一项被激活了?数据是一个 vector ,因此使用 TreeWidget 我可以将项目的 vector 索引存储在 QTreeWidgetItem 中,但是 QModelIndex 甚至没有 setData API .

最佳答案

How can I tell which item of the underlying data was activated?

通过反转代理模型:

// supposing to connect this to your itemActivated signal
void onItemActivated(const QModelIndex &index)
{
QModelIndex originalIndex = proxyModel->mapToSource(index);
originalModel->doSomething(originalIndex);
}

关于c++ - QTreeView:维护QModelIndex与底层数据的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18941701/

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