QTableView 控件的简单使用
2024-09-08 02:46:31
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();
}
}
}
最重实现效果:
最新文章
- SQL基础--序列
- zookeeper初识之原理
- Android抽象布局——include、merge 、ViewStub
- android 项目学习随笔八(xUtils的BitmapUtils模块)
- 团队项目(NABC分析)
- ACM - ICPC World Finals 2013 I Pirate Chest
- Cllimbing Stairs [LeetCode 70]
- cocos2d-x 关于opengl version too old 问题解决办法
- ntity Framework技巧系列之四 - Tip 13 – 15
- HDU1217:Arbitrage(SPFA)
- arm_linux_device_mem内存映射
- 分享Azure DevOps技术,来微信群吧!
- php手撸轻量级开发(二)框架加载
- 如何删除WINDOWS中服务中不再使用的服务?
- CentOs下MySQL5.6.32源码安装
- Win一键查看用户密码
- request.getSession().setAttribute(&;quot;&;quot;,..)和request.setAttribute(&;quot;&;quot;,...)的差别
- sorting--codility
- robot framework踩坑记录
- 虚析构函数? vptr? 指针偏移?多态数组? delete 基类指针 内存泄漏?崩溃?
热门文章
- Java练习 SDUT-1211_英文金曲大赛
- Laravel Class config does not exist in
- Python 基础06 循环
- SQLServer一条SQL查出当月的每一天
- 洛谷P2820 局域网
- uva 11806 Cheerleaders (容斥)
- Android Studio(五):修改Android Studio项目包名
- JavaScript的一些SAO操作
- error LNK2001: unresolved external symbol __imp___rt_sdiv
- UVa11400 - Lighting System Design——[动态规划]