2009-02-26 8 views
3

Kommen von der .NET-Welt zu Python und PyQt4. Ich frage mich, ob jemand mit Funktionen vertraut ist, mit denen ich Daten an Qt-Widgets binden könnte? Zum Beispiel (mit sqlalchemy für Daten):PyQt4: Datenbindung?

gems = session.query(Gem).all() 
list = QListWidget() 
list.datasource = gems 

Ist so etwas möglich?

Antwort

3

Eine Option würde eine Funktion haben, die ein Listen- (oder Tupel-) Objekt aus einer Abfrage zurückgibt und dieses dann zum Aktualisieren von QListWidget verwendet. Denken Sie daran, dass das QListWidget QListStrings speichert. Ihre Update-Funktion könnte wie folgt aussehen:

def updateQListWidget(qlistwidget, values): 
     """ Updates a QListWidget object with a list of values 
     ARGS: 
      qlistwidget - QListWidget object 
      values  - list of values to add to list widget 
     """ 
     qlistwidget.clear() 
     qlist = QtCore.QStringList() 
     for v in values: 
      s = QtCore.QString(v) 
      qlist.append(s) 
     qlistwidget.addItems(qlist)