2014-01-08 108 views
1

我是python的新手,并且遇到了问题,任何人都可以帮我解决这个问题。要求是我已经创建了一个sqlite数据库,并创建了一个表,并插入值,但问题是我没有得到如何显示该数据从数据库在python表视图中,所以请帮助我从这个.....提前感谢..如何在python的表格视图中显示数据库中的数据

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() 

现在我怎么能在实现代码如下/列表视图dispaly数据的示例代码也是有帮助的

+0

你到现在为止做了什么? – maurelio79

+0

我正在尝试与QlistWidget像: –

+0

patientList = QtGui.QListWidget()qitem = Qtgui.QListWidgetItem(queryCurs) –

回答

5

这是一个简短,尽管对如何实现预期的结果完整的例子。 诀窍是定义一个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_() 
相关问题