`
qimo601
  • 浏览: 3445957 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

(五)Qt实现自定义模型基于QAbstractItemModel

    博客分类:
  • Qt
阅读更多

目录:

(一) Qt Model/View 的简单说明 、预定义模型

(二)使用预定义模型 QstringListModel例子

(三)使用预定义模型QDirModel的例子

(四)Qt实现自定义模型基于QAbstractTableModel

(五)Qt实现自定义模型基于QAbstractItemModel 

(六) Qt实现自定义委托 QDelegate

 

一个小例子 QTableView + QStandardItemModel 

 

 

QStandardItemModel model;

//设置大小

model.setColumnCount(3);    //列
model.setRowCount(musicFound);    //行

//设置标题

model.setHeaderData(0,Qt::Horizontal,"ID");

//添加数据

for(int j=0;j<row;j++)
{
            //写id
            QStandardItem *itemID = new QStandardItem("hello");//QString::number(j)));
            model.setItem(j,0,itemID);

}

//选择这个model

m_ui->tableView->setModel(&model);

//隐藏左边那列
m_ui->tableView->verticalHeader()->hide();
//列宽
m_ui->tableView->setColumnWidth(0,30);
//整行选择
m_ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
分享到:
评论

相关推荐

    Qt实现自定义树状导航栏

    视图部分,我们使用`QTreeView`控件,它可以自动与我们的自定义模型绑定。为了实现树状结构,我们需要设置`QTreeView`的`rootIsDecorated`属性为`false`,这样根节点就不会显示额外的图标。另外,为了自定义每一项的...

    Qt自定义模型

    自定义模型通常继承自`QAbstractItemModel`,因为它是Qt提供的一种抽象基类,为自定义模型提供了基础接口。你需要重写以下关键函数: - `rowCount()`: 返回模型中的行数。 - `columnCount()`: 返回列数。 - `...

    QTreeView树形视图使用自定义模型model

    自定义模型需要继承`QAbstractItemModel`并重写其必要的方法,以便正确地与`QTreeView`交互。 1. **自定义模型创建**: - 创建一个新类,如`CustomModel`,并让它继承自`QAbstractItemModel`。 - 实现`...

    qt表格自定义model,支持分页展示

    2. **实现自定义模型类**:继承自QAbstractItemModel,实现上述重写的方法,同时添加管理分页的属性和方法,如`currentPage`、`pageSize`、`totalPages`和`totalItems`。 3. **数据加载**:在模型中添加`loadPage...

    实现Qtreeview 重写model 实现model中添加按钮的功能

    在Qt框架中,`QTreeView`是一个非常重要的组件,它用于显示和操作数据模型的层次结构。本教程将深入探讨如何实现一个自定义的`...记住,这种自定义模型和委托的技巧可以应用于任何需要在Qt视图中增强交互性的场景。

    QT自定义tableModel和使用sqltablemodel

    在QT中,数据视图模型(TableModel)是用于展示数据的核心组件,它与控件如QTableView、QListView等进行交互,实现了数据和视图之间的解耦。本篇文章将深入探讨如何在QT中自定义TableModel以及如何使用SQLTableModel...

    Qt 自定义 Calendar 日历控件

    7. **数据模型**: 如果日历需要展示复杂的日程数据,可以考虑使用数据模型(如QAbstractItemModel)来存储和管理这些数据,然后在日历视图中进行渲染。 8. **国际化和本地化**: 为了支持多语言环境,日历控件需要...

    QT表格自定义model,支持代理控件

    自定义模型需根据需求定义额外的角色。 二、代理控件 代理控件(Proxy Model)在QT中用于在模型和视图之间提供一层抽象,可以实现数据过滤、排序、分页等高级功能。QSortFilterProxyModel和QIdentityProxyModel是...

    QTreeView+自定义Model实现示例

    在`CustomModel`这个例子中,我们可以推测这是一个实现了上述步骤的自定义模型。可能包含了对大量数据的高效处理逻辑,以及可能的扩展功能,如自定义数据格式、数据过滤或排序。使用这样的模型,可以显著提升`...

    QT 自定义混合控件——基于View/Model/Delegate的QTableView/QTreewidget/Combobox实现

    在本项目"QT自定义混合控件——基于View/Model/Delegate的QTableView/QTreewidget/Combobox实现"中,我们将深入探讨如何利用QT库中的核心组件构建一个强大的数据展示和交互界面。 首先,我们要理解View/Model/...

    QT-QabstractTableModel模型、重写sort方法排序

    在标题提到的"QT-QabstractTableModel模型、重写sort方法排序"中,我们关注的重点是如何利用`QAbstractTableModel`来实现自定义排序功能。`sort`方法是`QAbstractItemModel`的一部分,它允许对模型中的数据进行排序...

    ListView自定义Item

    QListView是Qt的模型/视图框架中的视图部件,它显示由QAbstractItemModel提供的数据。默认情况下,QListView使用简单的文本或图标作为item的表示,但通过自定义,我们可以展示更复杂的布局和样式。 要实现自定义...

    Qt 自定义Model和自定义Delegate

    在本文中,我们将深入探讨如何在Qt中自定义Model和Delegate,以实现特定的功能,例如在ListView中展示带有图片和删除功能的项。 首先,我们要理解Qt中的模型(Model)和视图(View)的概念。模型是数据的存储和管理...

    QT对象与模型

    6. 如何创建自定义模型和视图 7. 实战教程,指导读者构建基于Qt对象模型的应用程序 通过阅读这份文档,无论是初学者还是进阶者,都能对Qt对象与模型有更深入的理解,并能够运用到实际项目中,提升开发效率和代码...

    QTreeView 使用自定义Model

    数据由Model提供,Model是Qt的模型-视图-控制器(MVC)架构中的核心组件,负责存储和管理数据。因此,自定义Model可以让我们根据需求定制数据的结构和操作。 1. **创建自定义Model** - 派生自QAbstractItemModel:...

    Qt实现网络拓扑图

    可以使用Qt的数据模型(如`QStandardItemModel`或自定义的`QAbstractItemModel`)将网络数据与图形元素绑定,便于数据更新时自动更新图形。 5. **动画效果** - Qt的`QPropertyAnimation`和`QGraphicsObject`类可以...

    自定义模型类的使用demo.rar

    自定义模型类需要继承`QAbstractItemModel`,并实现以下关键方法: - `rowCount(const QModelIndex &parent = QModelIndex()) const`:返回模型的行数。 - `columnCount(const QModelIndex &parent = QModelIndex()...

    Qt之模型/视图(实时更新数据)

    在Qt中,QAbstractItemModel或其派生类如QStandardItemModel、QFileSystemModel等可以作为模型使用。模型提供了增加、删除、修改数据的方法,并通知视图数据的变化,以便视图进行相应的更新。 其次,视图(View)是...

    qt 实现数据库操作和显示

    3. **模型数据**:定义一个继承自QAbstractItemModel的自定义模型类,该模型类将作为数据和视图之间的桥梁。你需要重写必要的虚函数,如rowCount()、columnCount()、data()、headerData()等,以提供数据访问和管理。...

    QT实现的treeView有复选框

    在QT中,这种功能可以通过自定义模型和视图来实现,以满足特定的用户交互需求。 首先,我们需要理解`QTreeView`的工作原理。`QTreeView`是一个基于Qt的模型/视图架构的组件,它显示了一个由`QAbstractItemModel`...

Global site tag (gtag.js) - Google Analytics