Ich erstellen eine Anwendung in PyQt, wo ich eine Liste erstellen möchte, und die Listenelemente sind das Ergebnis einer SQL-Abfrage. Ich versuche, dies aus dem folgenden Code zu tun:PyQt: So erhalten Sie die Zeilenwerte aus einer Select-Abfrage
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
def main():
app = QApplication(sys.argv)
win=QWidget()
layout=QHBoxLayout()
db = QSqlDatabase.addDatabase("QODBC")
win.setWindowTitle("Connect to MSSQL Database Example")
db.setHostName('LAPTOP-B79DRPA3')
db.setDatabaseName('local')
db.open()
if (db.open()==False):
QMessageBox.critical(None, "Database Error",
db.lastError().text())
query = QSqlQuery()
query.exec_ ("select lydelse, bransch from [Sarah].[dbo].fraga")
listWidget = QListWidget()
index=0
while (query.next()):
listWidget.addItem(str(query.value(index)))
index = index+1
listWidget.setSelectionMode(QAbstractItemView.ExtendedSelection)
layout.addWidget(listWidget)
win.setLayout(layout)
win.show()
return app.exec_()
if __name__ == '__main__':
main()
Aber was geschieht dabei ist, dass die Ausgabe eine Liste mit Elementen aus verschiedenen Spalten ist. Was ich will, ist, dass ich eine Spalte auswählen und fügen Sie alle Zeile Elemente in die Liste als Liste-Elemente kann:
index=0
while (query.next()):
listWidget.addItem(str(query.value(index)))
index = index+1
Ah, hab's! Danke @Ekhumoro – Sarah