Qt之QTableView的使用
QTableView类实现表格视图,QTableView的数据由继承QAbstractItemModel的子类models来提供。
1.使得QTableView的大小和主窗口大小一致
//获得主窗口的大小int width = this->width();int height = this->height();//调整tableView窗口大小和主窗口一致ui->tableView->resize(width,height);
2.表格网格线的显示与取消
//背景网格线设置//显示ui->tableView->setShowGrid(true);//取消//ui->tableView->setShowGrid(false);
3.网格线画笔
//网格背景画笔//ui->tableView->setGridStyle(Qt::DashLine);ui->tableView->setGridStyle(Qt::DotLine);
画笔的种类如下:
常量 | 值 | 描述 |
Qt::NoPen | 0 | 无线 |
Qt::SolidLine | 1 | 实线 |
Qt::DashLine | 2 | 虚线 |
Qt::DotLine | 3 | 点线 |
Qt::DashDotLine | 4 | 虚点线 |
Qt::DashDotDotLine | 5 | 虚点点线 |
Qt::CustomDashLine | 6 | 自定义虚线 |
4.排序功能,设置了排序功能为true,就会开启列排序功能
//排序功能ui->tableView->setSortingEnabled(true);
5.设置列表头
默认的表头都是按数字顺序自增的,我们可以设置表头为自己的格式,这时我们就要使用到model了
比如,我们要实现自己的表头
QStandardItemModel* model = new QStandardItemModel();QStringList labels = QObject::trUtf8("频率,功率,误差").simplified().split(",");model->setHorizontalHeaderLabels(labels);ui->tableView->setModel(model);ui->tableView->show();
效果如下:
6.实现各表内容的填充
QStandardItemModel* model = new QStandardItemModel();QStringList labels = QObject::trUtf8("频率,功率,误差").simplified().split(",");model->setHorizontalHeaderLabels(labels);//定义itemQStandardItem* item = 0;for(int i = 0;i < 10;i++){item = new QStandardItem(QString("%1").arg(i));model->setItem(i,0,item);item = new QStandardItem(QString("%1").arg(i*2));model->setItem(i,1,item);item = new QStandardItem(QString("%1").arg(i*3));model->setItem(i,2,item);}ui->tableView->setModel(model);ui->tableView->show();
实现效果如下:
由上图可知,网格线的实现采用Qt::DotLine,但是内容区的字体颜色为什么是红色的呢?这就是下一个所要说的
7.数据清除
model->clear();
8.Qt中关于CSS样式的使用
ui->tableView->setStyleSheet("QTableView { border: none;""selection-background-color: #8EDE21;""color: red}");
其中的“color:red”即是设置表格内容的字体颜色
“border: none”表示表格无边框
“selection-background-color: #8EDE21”表示选中单元格背景色的设置。
其他样式表可以参看HTML中的CSS。
Qt之QTableView的使用相关推荐
- (二)Qt中QTableView中加入Check列实现
QTableView中嵌入复选框CheckBox 第二种方法:设置QAbstractTableModel的flags()函数法 通过Delegate创建QCheckBox来实现的Chec ...
- Qt:QTableView(01) 的用法
Qt:QTableView(01) 的用法 文章目录 Qt:QTableView(01) 的用法 前言 一 .给 QTableView 添加表头 二.设置表格属性 1. 设置 QTableView 内 ...
- qt中Qtableview的用法
QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: 一 添加表头 //准备数据模型 QStandardItemModel *student_model = ne ...
- 【Qt】QTableView中嵌入复选框CheckBox 的四种方法总结
搜索了一下,QTableView中嵌入复选框CheckBox方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简单,通常用这种方法. 第三种只适合静态显示静态数据用 第四 ...
- Qt之QTableView、QTableWidget
提示:此文简单介绍了QTableWidget及QTableView的区别,以QTableWidget为例,讲述表格样式,并演示了表格样式静态和动态的效果. 文章目录 前言 一.QTableView和Q ...
- QT中QTableView 点击表头进行排序
今日,由于工作需要,要实现在QTableView中点击表头进行排序的功能,但QTableView中并未提供此功能,经过苦苦的网络搜索也为发现可用的代码.最后经过跟踪QTableWidget的排序功能实 ...
- QT(3)-QTableView
QTableView 0 相关文章 1 说明 2 常用函数 2.1 clearSpans 2.2 setSpan 2.3 columnAt 2.4 rowAt 2.5 columnSpan 2.6 r ...
- 实例QT程序 —— QTableView 表格行的上下移动
目录 1.简介 2.源码 3.效果图 源码下载地址 https://download.csdn.net/download/Redboy_Crazy/12276410 1.简介 上一篇文章,介绍了实现Q ...
- (四)Paint函数实现QTableView中增加QCheckBox的方法
第四种方法是:实现QAbstractItemDelegate的paint()函数. 这种方法和<C++_GUI_Qt4_编程(第二版)>中第十章的自定义委托例子,画星星的作法是一样的, ...
最新文章
- js设置div高度低于滚动高度时固定
- 2、Flume1.7.0入门:安装、部署、及flume的案例
- Node.js 入门教程 (三):API-准备知识
- 【SSL】keytool复制证书
- Java ServletContextListener用法
- C/C 输入输出缓冲区
- tcpdump实战详解
- pycharm中两个.py文件相互调用和传递参数
- Logisim实验一
- android刷机教程 华为,华为的安卓手机该怎么刷机
- LED点阵字模提取学习
- 手算逆元及手动模拟扩展欧几里得算法及思路推导
- 机房动力环境监测系统
- 不歧视双非的计算机院校,这30所重点院校不歧视“双非”,公平竞争录取,爱了爱了!...
- 创业公司如何实施敏捷开发
- 企业级自动化运维平台
- 高配低价的新国民旗舰:联想Z5评测体验
- 6、Spring MVC 之 定义@RequestMapping处理方法
- 复选框的全选反选实现(即购物车的复选框实现)
- 在Java拦截器中处理用户横向越权的问题
热门文章
- 浅谈windows 编程中SendMessage函数的妙用!!!
- 坐月子 请月嫂吗?如何请月嫂?
- 直流无刷电机仿真分析——基于simulink官方例程BLDC Speed Control
- 详细讲解MySQL索引与联合索引
- Kubernetes集群中Pod间文件拷贝
- AI:人工智能技术层企业简介(更新中)
- TypeError: Can‘t mix strings and bytes in path components
- 三维向量求夹角(0-360)
- Pycharm导入conda虚拟环境时报错error code:1
- 全球最火的程序员学习路线!