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的使用相关推荐

  1. (二)Qt中QTableView中加入Check列实现

    QTableView中嵌入复选框CheckBox        第二种方法:设置QAbstractTableModel的flags()函数法 通过Delegate创建QCheckBox来实现的Chec ...

  2. Qt:QTableView(01) 的用法

    Qt:QTableView(01) 的用法 文章目录 Qt:QTableView(01) 的用法 前言 一 .给 QTableView 添加表头 二.设置表格属性 1. 设置 QTableView 内 ...

  3. qt中Qtableview的用法

    QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: 一 添加表头 //准备数据模型     QStandardItemModel *student_model = ne ...

  4. 【Qt】QTableView中嵌入复选框CheckBox 的四种方法总结

    搜索了一下,QTableView中嵌入复选框CheckBox方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简单,通常用这种方法. 第三种只适合静态显示静态数据用 第四 ...

  5. Qt之QTableView、QTableWidget

    提示:此文简单介绍了QTableWidget及QTableView的区别,以QTableWidget为例,讲述表格样式,并演示了表格样式静态和动态的效果. 文章目录 前言 一.QTableView和Q ...

  6. QT中QTableView 点击表头进行排序

    今日,由于工作需要,要实现在QTableView中点击表头进行排序的功能,但QTableView中并未提供此功能,经过苦苦的网络搜索也为发现可用的代码.最后经过跟踪QTableWidget的排序功能实 ...

  7. 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 ...

  8. 实例QT程序 —— QTableView 表格行的上下移动

    目录 1.简介 2.源码 3.效果图 源码下载地址 https://download.csdn.net/download/Redboy_Crazy/12276410 1.简介 上一篇文章,介绍了实现Q ...

  9. (四)Paint函数实现QTableView中增加QCheckBox的方法

      第四种方法是:实现QAbstractItemDelegate的paint()函数. 这种方法和<C++_GUI_Qt4_编程(第二版)>中第十章的自定义委托例子,画星星的作法是一样的, ...

最新文章

  1. js设置div高度低于滚动高度时固定
  2. 2、Flume1.7.0入门:安装、部署、及flume的案例
  3. Node.js 入门教程 (三):API-准备知识
  4. 【SSL】keytool复制证书
  5. Java ServletContextListener用法
  6. C/C 输入输出缓冲区
  7. tcpdump实战详解
  8. pycharm中两个.py文件相互调用和传递参数
  9. Logisim实验一
  10. android刷机教程 华为,华为的安卓手机该怎么刷机
  11. LED点阵字模提取学习
  12. 手算逆元及手动模拟扩展欧几里得算法及思路推导
  13. 机房动力环境监测系统
  14. 不歧视双非的计算机院校,这30所重点院校不歧视“双非”,公平竞争录取,爱了爱了!...
  15. 创业公司如何实施敏捷开发
  16. 企业级自动化运维平台
  17. 高配低价的新国民旗舰:联想Z5评测体验
  18. 6、Spring MVC 之 定义@RequestMapping处理方法
  19. 复选框的全选反选实现(即购物车的复选框实现)
  20. 在Java拦截器中处理用户横向越权的问题

热门文章

  1. 浅谈windows 编程中SendMessage函数的妙用!!!
  2. 坐月子 请月嫂吗?如何请月嫂?
  3. 直流无刷电机仿真分析——基于simulink官方例程BLDC Speed Control
  4. 详细讲解MySQL索引与联合索引
  5. Kubernetes集群中Pod间文件拷贝
  6. AI:人工智能技术层企业简介(更新中)
  7. TypeError: Can‘t mix strings and bytes in path components
  8. 三维向量求夹角(0-360)
  9. Pycharm导入conda虚拟环境时报错error code:1
  10. 全球最火的程序员学习路线!