gpt4 book ai didi

c++ - 将 TreeView 链接到 TableView ? [Qt]

转载 作者:行者123 更新时间:2023-11-30 05:12:06 24 4
gpt4 key购买 nike

如何使用 Qt 将 TreeView 链接到 TableView ?例如,我有一个包含项目列表的 treeView。我还有一个带有模型/ View 实现的 tableView,以便来自不同文件的数据填充表格。因此,假设每个文件的文件名(在本例中,所有文件都是 CSV)在 treeView 中列为一个项目。我想做的是链接 treeView 中的每个 .csv 项,以显示在 treeView< 中选择的 .csv 文件的解析内容。我希望该数据显示在 tableView 中。我已经分别实现了树和表——它们可以工作——我只是不知道如何将它们链接在一起。如何让我在 TreeView 中选择相应的项目后才在表格中显示我解析的数据?

最佳答案

Qt itemviews 系统不会自动为您提供此功能,但使用信号/插槽连接很容易获得该行为。

当用户在 QTreeView 中选择不同的行时,QTableView 应使用 QTreeView 中该行所代表的 .CSV 文件的内容重新填充自身。这可以通过将 QTreeView 的 SelectionModel 对象的 selectionChanged() 方法连接到将执行表重新填充操作的槽来实现。即类似的东西:

connect(myTreeWidget->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), someObjectInYourProgram, SLOT(RepopulateTableView()));

...然后让您的 RepopulateTableView() 插槽方法查看当前在 QTreeView 对象中选择了哪些行,并根据它们重新填充其内容。

(旁注:您可以让 RepopulateTableView() 使用直接来自 selectionChanged() 信号的参数,但我经常发现让它使用单独提供的指针检查 QTreeView 的 selectionModel 对象更有用,因为那样RepopulateTableView() 可以从除此信号之外的其他上下文轻松调用)

关于c++ - 将 TreeView 链接到 TableView ? [Qt],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44711085/

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