qt sqltablemodel
时间: 2023-07-09 10:46:30 浏览: 82
Qt 的 QSqlTableModel 类提供了一种可编辑的数据模型,用于显示 SQL 数据库中的单个表。它继承自 QSqlQueryModel 类,提供了对数据库表进行增、删、改、查操作的方法,并且自动处理了与视图的同步。
使用 QSqlTableModel,你可以轻松地将 SQL 数据库的数据与 Qt 的视图类(如 QTableView、QListView)绑定起来,实现表格数据的显示和编辑。
以下是一个简单的使用 QSqlTableModel 的例子,它将一个 SQLite 数据库中的 "people" 表格显示在一个 QTableView 中:
```python
# 创建 QSqlTableModel
model = QSqlTableModel()
model.setTable("people")
# 连接数据库
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("mydatabase.db")
if not db.open():
print("无法打开数据库")
# 检索数据
model.setEditStrategy(QSqlTableModel.OnFieldChange)
model.select()
# 创建视图
view = QTableView()
view.setModel(model)
view.show()
```
这段代码中,我们首先创建了一个 QSqlTableModel 对象,并将其绑定到 "people" 表格上。然后,我们连接到一个 SQLite 数据库,并将模型设置为使用 "OnFieldChange" 编辑策略。最后,我们用模型创建了一个 QTableView 视图,并将其显示出来。
阅读全文