Qt 学习之路 2(57):可视化显示数据库数据
来源:互联网 发布:怎么恢复sd卡数据 编辑:程序博客网 时间:2024/04/28 17:21
前面我们用了两个章节介绍了 Qt 提供的两种操作数据库的方法。显然,使用QSqlQuery
的方式更灵活,功能更强大,而使用QSqlTableModel
则更简单,更方便与 model/view 结合使用(数据库应用很大一部分就是以表格形式显示出来,这正是 model/view 的强项)。本章我们简单介绍使用QSqlTableModel
显示数据的方法。当然,我们也可以选择使用QSqlQuery
获取数据,然后交给 view 显示,而这需要自己给 model 提供数据。鉴于我们前面已经详细介绍过如何使用自定义 model 以及如何使用QTableWidget
,所以我们这里不再详细说明这一方法。
我们还是使用前面一直在用的 student 表,直接来看代码:
这里的connect()
函数还是我们前面使用过的,我们主要关注剩下的代码。
正如前一章的代码所示,我们在main()
函数中创建了QSqlTableModel
对象,使用 student 表。student 表有三列:id,name 和 age,我们选择按照 name 排序,使用setSort()
函数达到这一目的。然后我们设置每一列的列头。这里我们只使用了后两列,第一列没有设置,所以依旧显示为列名 id。
在设置好 model 之后,我们又创建了QTableView
对象作为视图。注意这里的设置:单行选择,按行选择。resizeColumnsToContents()
说明每列宽度适配其内容;setEditTriggers()
则禁用编辑功能。最后,我们设置最后一列要充满整个窗口。我们的代码中有一行注释,设置第一列不显示。由于我们使用了QSqlTableModel
方式,不能按列查看,所以我们在视图级别上面做文章:将不想显示的列隐藏掉。
接下来运行代码即可看到效果:
如果看到代码中很多“魔术数字”,更好的方法是,使用一个枚举将这些魔术数字隐藏掉,这也是一种推荐的方式:
- Qt 学习之路 2(57):可视化显示数据库数据
- Qt 数据可视化之3D图形
- 数据可视化之路
- Qt 学习之路 2(55):数据库操作
- Qt 学习之路 2(55):数据库操作
- qt学习之路七(qt的数据库操作)
- Qt 学习之路 2(14):对话框数据传递
- Qt 学习之路 2(53):自定义拖放数据
- HTML5数据可视化学习之路---eChart起步
- Qt学习 之 数据库
- QT 学习之路 图片显示
- Qt学习之路【1】:QT显示中文问题
- Python数据可视化之Matplotlib学习笔记
- Python与机器学习之数据可视化
- QT快速读取显示SQLite3数据库数据
- 艰难的Qt学习之路——可视化排序演示
- Qt 学习之路 2(56):使用模型操作数据库
- Qt 学习之路 2(58):编辑数据库外键
- Java中的equals和hashCode方法详解
- 失踪人口回归系列,好长时间没有更新博客了,今天来记录下python的相关安装过程
- 操作系统(python)多进程学习
- 【OPNET小问题】LINK:fetal error LNK1xxx:can not open file'msvcrt.lib'
- Java反射机制的缺点
- Qt 学习之路 2(57):可视化显示数据库数据
- python入门2-函数
- kali3.0裸机安装中文输入法
- MVC,MVP 和 MVVM 的图示
- C# abstract的一点理解
- hdu5384 Danganronpa (AC自动机)
- Linux创建文件命令总结
- 关于Linux的rear命令
- UCOSII 多任务中断跑飞HardFault_Handler