本次分享主要是介绍使用表格控件显示从数据库中取出的数据。 一、数据准备1、创建数据库 本次利用安装好的数据库管理软件DBeaver,打开新建Mysql连接,输入主机名或IP地址:“localhost”或“127.0.0.1”,输入mysql数据库登录账号密码,本机均设置为“root”。最后点击“确定”,即可建立本地mysql数据库连接。 接着创建一个名为“test”的数据库,操作步骤:右键单击“数据库”—选择“新建数据库”菜单项—输入数据库信息,见下示意图。

2、创建数据表
向数据库中添加数据表
如在“test”数据库中创建一个名叫“Build_data”的数据表,数据表单含义见下表
字段 | 字段类型 | 字段定义 |
id | int | 建筑编码 |
build_name | varchar(50) | 建筑名称 |
branchid | varchar(8) | 支路编号 |
record_date | date | 接受时间 |
vals | decimal(10,2) | 仪表数值 |
item_type | int(8) | 分项类型 |
name | varchar(50) | 支路名称 |
3、操作Mysql数据表
Mysql数据表的操作主要包括数据的增、删、改、查,与操作SQLite类似。
示例向“Build_data”的数据表中新增加数据。可以使用excute()方法添加一条记录,也可以使用executemany()方法批量添加多条记录
上具体代码-操作Mysql数据表,向表中插入多条数据记录
二、表格控件显示数据
PyQt5使用TableWidget表格控件显示数据主要用到QTableWidgetItem类,使用该类创建表格中的单元格,并指定显示文本或其他设置,即可使用TableWidget对象中setItem()方法将其添加到表格中。TableWidget常用方法及说明见PyQt5数据表格控件(一)。
具体表格中单元格对象编辑方法未介绍,一个表由多个单元格组成,QTableWidgetItem类表示QTableWidget中的单元格。QTableWidgetItem类常用方法及说明见下表。
setText() | 设置单位格的文本 |
setCheckState() | 设置指定单元格的选中状态 1、Qt.Checked,单元格选中 2、Qt.Unchecked,单元格未选中 |
setIcon() | 为单元格设置图标 |
setBackground() | 设置单元格背景色 |
setForeground() | 设置单元格内文本颜色 |
setFont() | 设置单元格内文本的字体 |
setSelected() | 设置是否选中单元格 |
text() | 获取单元格文本 |
示例操作:使用PyMysql模块从数据库中查询数据,并且将数据显示到TableWidget表格中。
操作Mysql数据表
设置指定列的排序方式 使用QTableWidget对象的sortItems()方法,设置表格中指定列排序方式
指定列显示图片
向指定列添加标准控件
其次合并单元格,此处不再累赘,见PyQt5数据表格控件(一)