2009-02-26 4 views
3

.NET에서 Python 및 PyQt4로 제공됩니다. 누군가 Qt 위젯에 데이터를 바인딩 할 수있는 기능에 익숙한 지 궁금하십니까? 예를 들어 (데이터에 대해 sqlalchemy 사용) :PyQt4 : 데이터 바인딩?

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

그런 것이 가능합니까?

답변

3

한 옵션에는 쿼리에서 목록 (또는 튜플) 개체를 반환하고 QListWidget을 업데이트하는 기능이 있습니다. QListWidget은 QListString을 저장한다는 것을 기억하십시오. 귀하의 업데이트 기능은 다음과 같습니다

직접 대체가, 당신이 유용 QDataWidgetMapper 클래스를보고 찾을 수있는 것은 아니지만
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)