QTableView类提供了一个表视图的默认模型/视图实现。

一个QTableView实现一个表视图,它显示来自一个模型的项目。这个类用于提供以前由QTable类提供的标准表,但是使用Qt的模型/视图体系结构提供的更灵活的方法。

QTableView类是模型/视图类之一,也是Qt的模型/视图框架的一部分。

QTableView实现由q抽象视图类定义的接口,允许它显示由q抽象模型类派生的模型所提供的数据。

导航

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QCheckBox>
#include<QDebug>
#include<QCloseEvent>
#include<QMessageBox>
#include <QStandardItemModel>
#include <QStandardItem>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QStandardItemModel* Model = new QStandardItemModel();
//设置列的数量
Model->setColumnCount();
Model->setHeaderData(,Qt::Horizontal,QString::fromLocal8Bit("name"));
Model->setHeaderData(,Qt::Horizontal,QString::fromLocal8Bit("age"));
//设置表格属性
ui->tableView->setModel(Model);
//表头信息显示居左
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
//设置列宽
ui->tableView->setColumnWidth(,);
ui->tableView->setColumnWidth(,); //添加元素
for(int i=;i<;i++)
{
Model->setItem(i,,new QStandardItem(QString("名字%1").arg(i)));
Model->setItem(i,,new QStandardItem(QString("1%1").arg(i)));
}
//监视哪一行被修改
connect(Model,&QStandardItemModel::itemChanged,[this](QStandardItem*item){
qDebug()<<item->row()<<endl;
});
connect(ui->checkBox,&QCheckBox::stateChanged,[this](int state){
qDebug()<<state<<endl;
switch (state) {
case Qt::Checked:
qDebug()<<"被选中"<<endl;
break;
case Qt::Unchecked:
qDebug()<<"取消选中"<<endl;
break;
case Qt::PartiallyChecked:
qDebug()<<"未被完全选中"<<endl;
break;
default:
break;
}
});
} MainWindow::~MainWindow()
{
delete ui;
} void MainWindow::closeEvent(QCloseEvent *event)
{
if(event->type()== QEvent::Close)
{
int ret = QMessageBox::question(this,tr("Are you sure it's closed?"),tr("Are you sure it's closed?"));
if(ret == QMessageBox::Yes)
{
event->accept();
}else
{
event->ignore();
}
}
}

最重实现效果:

最新文章

  1. SQL基础--序列
  2. zookeeper初识之原理
  3. Android抽象布局——include、merge 、ViewStub
  4. android 项目学习随笔八(xUtils的BitmapUtils模块)
  5. 团队项目(NABC分析)
  6. ACM - ICPC World Finals 2013 I Pirate Chest
  7. Cllimbing Stairs [LeetCode 70]
  8. cocos2d-x 关于opengl version too old 问题解决办法
  9. ntity Framework技巧系列之四 - Tip 13 – 15
  10. HDU1217:Arbitrage(SPFA)
  11. arm_linux_device_mem内存映射
  12. 分享Azure DevOps技术,来微信群吧!
  13. php手撸轻量级开发(二)框架加载
  14. 如何删除WINDOWS中服务中不再使用的服务?
  15. CentOs下MySQL5.6.32源码安装
  16. Win一键查看用户密码
  17. request.getSession().setAttribute(&amp;quot;&amp;quot;,..)和request.setAttribute(&amp;quot;&amp;quot;,...)的差别
  18. sorting--codility
  19. robot framework踩坑记录
  20. 虚析构函数? vptr? 指针偏移?多态数组? delete 基类指针 内存泄漏?崩溃?

热门文章

  1. Java练习 SDUT-1211_英文金曲大赛
  2. Laravel Class config does not exist in
  3. Python 基础06 循环
  4. SQLServer一条SQL查出当月的每一天
  5. 洛谷P2820 局域网
  6. uva 11806 Cheerleaders (容斥)
  7. Android Studio(五):修改Android Studio项目包名
  8. JavaScript的一些SAO操作
  9. error LNK2001: unresolved external symbol __imp___rt_sdiv
  10. UVa11400 - Lighting System Design——[动态规划]