首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在显示不同数据列的两个视图之间共享一个模型

在显示不同数据列的两个视图之间共享一个模型
EN

Stack Overflow用户
提问于 2014-11-07 19:37:34
回答 1查看 1.8K关注 0票数 3

在本例中,我正在处理遗留代码。我有一个大的去队列数据结构。这是数据源。在一个对话框中,我需要两个QTableView小部件,它们使用相同的数据源,但显示不同的数据列。由于每个表都显示不同的数据列,它们如何共享相同的QAbstractItemModel?这就是代理模型的作用吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-08 06:03:40

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

代码语言:javascript
复制
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);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26808782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档