Qt的MV(模型视图)

1、概述

Qt 模型视图(系列文章)
Qt Model/View
Qt Model/View教程
QAbstractItemModel、QAbstractListModel、QAbstractTableModel、QStringListModel、QStandardItemModel、QFileSystemModel、QSqlQueryModel、QSqlTableModel、QSqlRelationalTableModel

2、框架介绍

2.1 QStandardItemModel、QStandardItem

QStandardItemModel:管理更复杂的树结构件,其中每一个项目可以包含任意数据。

2.2 QModelIndex 索引

QModelIndex index = model->index(row, column, parent);

2.3 QItemSelectionModel 选择

2.4、QAbstractItemDelegate 代理

3、QTableView

qtablewidget解决加载百万条数据卡顿(不会存在内存溢出,界面也不会卡顿)动态加载
QTableView与QAbstractTableModel的使用
QTableView点击表头排序
QAbstractTableModel基本使用:数据展示与编辑
QAbstractTableModel基本使用:数据加载以及增删行列
QAbstractTableModel基本使用:表头相关接口
QAbstractTableModel基本使用:排序相关接口
QStyledItemDelegate基本使用:单元格数据渲染与编辑

设置tableView的时候,需要牢记先设置公共属性,然后设置model,然后才能设置列宽,否则列宽不会生效。

imp->tableView = new QTableView(this);
imp->tableView->resize(850, 200);

imp->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); //Stretch
imp->tableView->horizontalHeader()->setDefaultSectionSize(35);
imp->tableView->verticalHeader()->setDefaultSectionSize(20);
imp->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
imp->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
imp->tableView->horizontalHeader()->setStyleSheet("QHeaderView::section {color: black ;border: 1px solid #660000;}");
imp->tableView->verticalHeader()->hide();
imp->tableView->setFont(font);
m_myModel = new MyModel(this);
imp->tableView->setModel(m_myModel);
connect(m_myModel, SIGNAL(editCompleted(const QString&)), this, SLOT(setWindowTitle(const QString&)));

imp->tableView->show();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值