gpt4 book ai didi

c++ - 在显示不同数据列的两个 View 之间共享一个模型

转载 作者:太空狗 更新时间:2023-10-29 21:19:36 25 4
gpt4 key购买 nike

在这种情况下,我使用的是遗留代码。我有一个大型出列数据结构。这是数据源。我需要在一个对话框中使用两个 QTableView 小部件,它们使用相同的数据源但显示不同的数据列。由于每个表显示不同列的数据,它们如何共享相同的QAbstractItemModel?这是代理模型的用途吗?

最佳答案

代理模型(QSortFilterProxyModelQAbstractProxyModel)用于过滤、排序或其他数据处理任务。在您的情况下,您应该对两个不同的 View 使用相同的模型,并在每个 View 中隐藏不必要的列:

QTableView *tableView = new QTableView();
QTableView *secondtableView = new QTableView();

MyModel *model = new MyModel();

tableView->setModel(model);
secondtableView->setModel(model);

tableView->setColumnHidden(0, true);
secondtableView->setColumnHidden(2, true);
secondtableView->setColumnHidden(3, true);

QHBoxLayout *layout = new QHBoxLayout(this);
layout->addWidget(tableView);
layout->addWidget(secondtableView);

关于c++ - 在显示不同数据列的两个 View 之间共享一个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808782/

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