通常在做业务逻辑时会遇到,如何在界面上对数据库信息进行操作的问题。
这里我们选用SQLite,它是一种嵌入式数据库,以单个独立的文件形式存储数据,适用于Pyqt5的开发。
下面做一个小案例,将数据库信息显示在界面中。
1.创建数据库
代码案例如下(创建一个用户信息表):
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
cursor.execute('create table user (id varchar(20) primary key, name varchar(20), age varchar(20), gender varchar(20))')
cursor.execute('insert into user (id, name, age, gender) values (\'1\', \Tom\',\'25\', \'Female\')')
conn.commit()
cursor.close()
conn.close()
2.获取数据库信息
self.model = QStandardItemModel()
self.model.setHorizontalHeaderLabels(["Id", "Name", "Age", "Gender"])
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
cursor.execute('select * from user')
values = cursor.fetchall()
for row in range(len(values)):
for col in range(len(values[row])):
item = QStandardItem(values[row][col])
self.model.setItem(row, col, item)
3.将数据库信息显示在界面上
在Qt Designer中选择Table View控件
将数据设置给QTableView
tableView.setModel(self.model)
4.结果显示