Как отобразить в Qtablewidget данные из sqlite.

Привет, я новичок в питоне. Я пытаюсь отобразить данные из базы данных sqlite в Qtablewidget, но в qtablewidget отображается только количество строк. Пожалуйста, помогите мне решить эту проблему. Ниже мой код...

patientTable = QtGui.QTableWidget()
rowcount = queryCurs.execute('''SELECT COUNT(*) FROM PATIENT''').fetchone()[0]
patientTable.setRowCount(rowcount)
queryCurs.execute('''SELECT * FROM PATIENT''')
for row, form in enumerate(queryCurs):
     for column, item in enumerate(form):
            patientTable.setItem(row, column, QtGui.QTableWidgetItem(str(item)))

Мне нужно отображать как количество строк, так и данные из базы данных. Как я могу это сделать?


person darshan katari    schedule 09.01.2014    source источник
comment
Вероятно, вам следует попробовать использовать QSqlTableModel (qt-project.org/doc/qt- 4.8/qsqltablemodel.html) - это позаботится об этом и избавит от необходимости ручных операторов SELECT. Проверьте, например. эта демонстрация на основе C++, переход на python должен быть простым: java2s.com /Code/Cpp/Qt/QSqlTableModeldemo.htm   -  person sebastian    schedule 09.01.2014
comment
спасибо буду работать над этим....спасибо за ответ..   -  person darshan katari    schedule 09.01.2014


Ответы (1)


вот как я это сделал:

queryCurs.execute("SELECT * FROM PATIENT")
row = 0
while True:
    form = queryCurs.fetchone()
    if form == None:
        break
    for column, item in enumerate(form):
        patientTable.setItem(row, column, QtGui.QTableWidgetItem(str(item)))
    row += 1

Пожалуйста, ответьте, если это решит вашу проблему.

person Aleksandar    schedule 14.01.2014
comment
@Александр - это работает. я проверил это, но мой код, который я разместил, я добавил еще 2 строки, такие как количество столбцов, которые помогли мне, и теперь данные столбцов строк работают нормально, спасибо за ваше предложение - person darshan katari; 17.01.2014