QT QTableView用法小结
QTableView常用于实现数据的表格显示。下面我们如何按步骤实现学生信息表格:
一 添加表头
//准备数据模型
QStandardItemModel *student_model = new QStandardItemModel();
student_model->setHorizontalHeaderItem(, new QStandardItem(QObject::tr("Name")));
student_model->setHorizontalHeaderItem(, new QStandardItem(QObject::tr("NO.")));
student_model->setHorizontalHeaderItem(, new QStandardItem(QObject::tr("Sex")));
student_model->setHorizontalHeaderItem(, new QStandardItem(QObject::tr("Age")));
student_model->setHorizontalHeaderItem(, new QStandardItem(QObject::tr("College")));
//利用setModel()方法将数据模型与QTableView绑定
ui->student_tableview->setModel(student_model);
二 设置表格属性
//设置列宽不可变动,即不能通过鼠标拖动增加列宽
ui->student_tableview->horizontalHeader()->setResizeMode(, QHeaderView::Fixed);
ui->student_tableview->horizontalHeader()->setResizeMode(, QHeaderView::Fixed);
ui->student_tableview->horizontalHeader()->setResizeMode(, QHeaderView::Fixed);
ui->student_tableview->horizontalHeader()->setResizeMode(, QHeaderView::Fixed);
ui->student_tableview->horizontalHeader()->setResizeMode(, QHeaderView::Fixed); //设置表格的各列的宽度值
ui->student_tableview->setColumnWidth(,);
ui->student_tableview->setColumnWidth(,);
ui->student_tableview->setColumnWidth(,);
ui->student_tableview->setColumnWidth(,);
ui->student_tableview->setColumnWidth(,); //默认显示行头,如果你觉得不美观的话,我们可以将隐藏
ui->student_tableview->verticalHeader()->hide();
//显示QTableView 的第六列 第一个参数是列的值,从0开始算起,第二个参数是 设置显示与隐藏 true 为隐藏 false 为显示
ui->student_tableview->setColumnHidden(,false);
//设置选中时为整行选中
ui->student_tableview->setSelectionBehavior(QAbstractItemView::SelectRows); //设置表格的单元为只读属性,即不能编辑
ui->student_tableview->setEditTriggers(QAbstractItemView::NoEditTriggers); //如果你用在QTableView中使用右键菜单,需启用该属性
ui->tstudent_tableview->setContextMenuPolicy(Qt::CustomContextMenu);
三 动态添加行
在表格中添加行时,我们只需要在model中插入数据即可,一旦model中的数据发生变化,QTabelView显示就会做相应的变动
//在第一行添加学生张三的个人信息(setItem函数的第一个参数表示行号,第二个表示列号,第三个为要显示的数据)
student_model->setItem(, , new QStandardItem(“张三"));
student_model->setItem(, , new QStandardItem(""));
student_model->setItem(, , new QStandardItem("男"));
student_model->setItem(, , new QStandardItem(""));
student_model->setItem(, , new QStandardItem("土木学院"));
四 设置数据显示的样式
//设置单元格文本居中,张三的数据设置为居中显示
student_model->item(, )->setTextAlignment(Qt::AlignCenter);
student_model->item(, )->setTextAlignment(Qt::AlignCenter);
student_model->item(, )->setTextAlignment(Qt::AlignCenter);
student_model->item(, )->setTextAlignment(Qt::AlignCenter);
student_model->item(, )->setTextAlignment(Qt::AlignCenter); //设置单元格文本颜色,张三的数据设置为红色
student_model->item(, )->setForeground(QBrush(QColor(, , )));
student_model->item(, )->setForeground(QBrush(QColor(, , )));
student_model->item(, )->setForeground(QBrush(QColor(, , )));
student_model->item(, )->setForeground(QBrush(QColor(, , )));
student_model->item(, )->setForeground(QBrush(QColor(, , ))); //将字体加粗
student_model->item(, )->setFont( QFont( "Times", , QFont::Black ) );
student_model->item(, )->setFont( QFont( "Times", , QFont::Black ) );
student_model->item(, )->setFont( QFont( "Times", , QFont::Black ) );
student_model->item(, )->setFont( QFont( "Times", , QFont::Black ) );
student_model->item(, )->setFont( QFont( "Times", , QFont::Black ) ); //设置排序方式,按年龄降序显示
student_model->sort(, Qt::DescendingOrder);
QT QTableView用法小结的更多相关文章
- 【转载】QT QTableView用法小结
原始日期: 2016-08-16 09:28 来源:http://blog.csdn.net/wang_lichun/article/details/7805253 QTableView常用于实现数据 ...
- 转载:QT QTableView用法小结
出自: http://blog.chinaunix.net/uid-20382483-id-3518513.html QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: ...
- QT QXmlStreamWriter用法小结
一 API介绍 writeStartDocument():写文档头,作用类似于创建一个xml文档,并在文档开头部分写入版本信息和编码信息,一般为: <?xml version="1.0 ...
- 转载:Hadoop排序工具用法小结
本文转载自Silhouette的文章,原文地址:http://www.dreamingfish123.info/?p=1102 Hadoop排序工具用法小结 发表于 2014 年 8 月 25 日 由 ...
- [No000010]Ruby 中一些百分号(%)的用法小结
#Ruby 中一些百分号(%)的用法小结 #这篇文章主要介绍了Ruby 中一些百分号(%)的用法小结,需要的朋友可以参考下 what_frank_said = "Hello!"#% ...
- C++ typedef用法小结 (※不能不看※)
C++ typedef用法小结 (※不能不看※) 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不 ...
- 函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结 (转)
函数fgets和fputs.fread和fwrite.fscanf和fprintf用法小结 字符串读写函数fgets和fputs 一.读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符 ...
- 1:CSS中一些@规则的用法小结 2: @media用法详解
第一篇文章:@用法小结 第二篇文章:@media用法 第一篇文章:@用法小结 这篇文章主要介绍了CSS中一些@规则的用法小结,是CSS入门学习中的基础知识,需要的朋友可以参考下 at-rule ...
- 英语语法最终珍藏版笔记- 21it 用法小结
it 用法小结 it 在英语中的意思较多,用法较广,现总结如下. 一.it作句子的真正主语 1.it 指前面已经提到过的人或事物,有时指心目中的或成为问题的人或事物,作真正主语. 例如: What’s ...
随机推荐
- hadoop2.2编程:MRUnit测试
引用地址:http://www.cnblogs.com/lucius/p/3442381.html examples: Overview This document explains how to w ...
- 【数据结构】平衡二叉树—AVL树
(百度百科)在计算机科学中,AVL树是最先发明的自平衡二叉查找树.在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树.查找.插入和删除在平均和最坏情况下都是O(log n).增 ...
- .NET中那些所谓的新语法之三:系统预定义委托与Lambda表达式
开篇:在上一篇中,我们了解了匿名类.匿名方法与扩展方法等所谓的新语法,这一篇我们继续征程,看看系统预定义委托(Action/Func/Predicate)和超爱的Lambda表达式.为了方便码农们,. ...
- Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(2)
Modern OpenGL用Shader拾取VBO内单一图元的思路和实现(2) 上一篇里介绍了Color-Coded Picking的思路和最基本的实现.在处理GL_POINTS时已经没有问题,但是处 ...
- 小型文件数据库 (a file database for small apps) SharpFileDB
小型文件数据库 (a file database for small apps) SharpFileDB For english version of this article, please cli ...
- Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage传输速度
<Windows Azure Platform 系列文章目录> Update 2016-09-28 想要在Azure云端,使用AzCopy工具,从Azure China 上海数据中心存储账 ...
- Visualize The Workshop
这篇文章是从我的 github 博客 http://lxconan.github.io 导入的. 今天这篇文章是准备瞎扯的.平常工作的时候,我希望尽可能的将一切自动化,让自己尽可能的舒适与懒惰.两个输 ...
- PHP钩子机制
什么是钩子 大家想必听过插件,wordpress插件特别多,这个就是用钩子机制实现的. 当代码在运行的过程中,我们预先在运行的几个特殊点里执行一些特殊方法:例如在运行方法(例如Blog::add的ad ...
- MongoDB 创建 Database 和 Collection
在开始使用MongoDB(Version:3.2.9)之前,必须首先在MongoDB中创建 Database 和 Collection.Database是相互独立的,每个Database都有自己的Co ...
- Package Configurations的使用示例
SSIS提供Package Configurations功能,能够动态修改配置数据,使package执行不同的变量,从不同的connection中获取数据,而这些变化,不需要修改Package,不需要 ...