Skip to main content
 首页 » 编程设计

python之如何在python中的 TableView 中显示来自数据库的数据

2025年05月04日1652php

我是 python 的新手并且遇到了一个问题,请任何人帮助我解决这个问题。要求是我已经创建了一个 sqlite 数据库并创建了一个表并向其中插入了值但问题是我不知道如何在 python 的 TableView 中显示数据库中的数据所以请帮我解决这个问题......提前谢谢..

db_con = sqlite3.Connection 
db_name = "./patientData.db" 
createDb = sqlite3.connect(db_name) 
queryCurs = createDb.cursor() 
queryCurs.execute('''CREATE TABLE IF NOT EXISTS PATIENT 
    (NAME TEXT NOT NULL, ID INTEGER PRIMARY KEY, AGE INTEGER NOT NULL, GENDER TEXT NOT NULL , EYE_TYPE TEXT NOT NULL)''') 
 
pName = self.patientEdit.text() 
pId =self.patientidEdit.text() 
#pId1 = int(pId) 
pAge = self.ageEdit.text() 
#pAge1 = int(pAge) 
pGender = self.patientgend.text() 
pEye_type = self.eyeTypeEdit.text() 
queryCurs.execute('''INSERT INTO PATIENT(NAME,ID,AGE, GENDER,EYE_TYPE) VALUES(?, ?, ?, ?, ?)''',(pName, pId, pAge, pGender, pEye_type)) 
print ('Inserted row') 
createDb.commit() 

现在如何在 TableView / ListView 中显示数据,任何示例代码也很有帮助

请您参考如下方法:

这是一个关于如何实现预期结果的简短但完整的示例。 诀窍是定义一个 QSqlQueryModel并将其传递给 QTableView ;这样就可以使用PyQt4 SQL模块代替sqlite3模块,而且表格可以自动循环查询结果。

from PyQt4.QtSql import QSqlQueryModel,QSqlDatabase,QSqlQuery 
from PyQt4.QtGui import QTableView,QApplication 
import sys 
 
app = QApplication(sys.argv) 
 
db = QSqlDatabase.addDatabase("QSQLITE") 
db.setDatabaseName("patientData.db") 
db.open() 
 
projectModel = QSqlQueryModel() 
projectModel.setQuery("select * from patient",db) 
 
projectView = QTableView() 
projectView.setModel(projectModel) 
 
projectView.show() 
app.exec_()