from PyQt5.QtWidgets import QApplication, QTableView
from PyQt5.QtSql import QSqlDatabase, QSqlQueryModel
app = QApplication([])
# 连接数据库
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("your_database_name.db")
db.open()
# 创建 QSqlQueryModel 实例
model = QSqlQueryModel()
# 设置 QSqlQueryModel 实例的查询
query = "SELECT * FROM your_table_name"
model.setQuery(query)
# 将 QSqlQueryModel 实例设置为 QTableView 的模型
view = QTableView()
view.setModel(model)
view.show()
app.exec_()
from PyQt5.QtWidgets import QApplication, QTableView
from PyQt5.QtSql import QSqlDatabase, QSqlQueryModel
app = QApplication([])
# 连接数据库
db = QSqlDatabase.addDatabase("QSQLITE")
db.setDatabaseName("your_database_name.db")
db.open()
# 创建 QSqlQueryModel 实例
model = QSqlQueryModel()
# 设置 QSqlQueryModel 实例的查询
query = "SELECT * FROM your_table_name"
model.setQuery(query)
# 获取查询结果的行数和列数
row_count = model.rowCount()
column_count = model.columnCount()
print(f"查询结果有 {row_count} 行,{column_count} 列。")
# 遍历查询结果并打印每个单元格的数据
for row in range(row_count):
for col in range(column_count):
cell_data = model.data(model.index(row, col))
print(f"({row}, {col}): {cell_data}")
# 将 QSqlQueryModel 实例设置为 QTableView 的模型
view = QTableView()
view.setModel(model)
view.show()
app.exec_()
这个示例将遍历查询结果,并打印每个单元格的数据。注意,QSqlQueryModel 通常与视图(如 QTableView)一起使用,可以自动显示查询结果。因此,在实际应用中,您可能不需要手动查看和处理查询结果,而是将其直接显示在视图中。