QAbstractTableModel 作为一个 QTableView 和几个 QListViews 的模型

Posted

技术标签:

【中文标题】QAbstractTableModel 作为一个 QTableView 和几个 QListViews 的模型【英文标题】:QAbstractTableModel as a model for one QTableView and few QListViews 【发布时间】:2012-03-25 23:01:56 【问题描述】:

致敬,社区!

简单地说。

我在QAbstractTableModel 上编写了常用模型,并以常用方式为QTableView 使用它。但我认为我需要为QWizard 中的少数 QListViews 使用此模型的某些列以正确的方式填充主表(对于用户)。

例如:使用column2作为向导page1上QListView的模型;第 3 列用于第 2 页的QListView 等。

请帮我理解两件事:

    我走对了吗? 如果是,那我怎样才能简单而明确地做到这一点?

【问题讨论】:

【参考方案1】:

QTableModel 设置为每个QListView 的模型,并使用QListView.setModelColumn 选择它们各自显示的列。

【讨论】:

非常感谢!它有效,我在阅读文档时错过了这种方法。对于其他人:AFTER 将模型设置为视图。 @Крайст 是的,列号是根据模型的列数测试的,所以如果还没有模型集,setModelColumn 什么都不做。 谢谢。如果我将一个模型用于几个视图即使在向导中 - 这是否正确? 您可以在任意多个视图中使用一个模型,无论它们在哪里(只要模型没有被删除)。

以上是关于QAbstractTableModel 作为一个 QTableView 和几个 QListViews 的模型的主要内容,如果未能解决你的问题,请参考以下文章

QTableView + QAbstractTableModel:通过拖放移动行

使用 QAbstractTableModel(模型/视图)时如何将“选择一个...”添加到 QComboBox?

如何在 QStatusBar 中显示 QAbstractTableModel 的状态?

QAbstractTableModel 和 QSortFilterProxyModel - 如何清除数据和更新视图

QML TableView + QAbstractTableModel - 如何从 QML 编辑模型数据?

将 QAbstractTableModel 实现与自定义类的 QList 一起使用