题
从.NET世界跑过Python和PyQt4的。想知道是否有人熟悉,让我将数据绑定到Qt控件的任何功能?例如(使用数据SQLAlchemy的):
gems = session.query(Gem).all()
list = QListWidget()
list.datasource = gems
时这样的事情可能?
解决方案
一个选项将具有从查询返回的列表(或元组)对象的功能,然后用它来更新QListWidget。请记住,QListWidget商店QListStrings。您更新功能可能是这样的:
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)
其他提示
虽然不是直接的替代品,你可能会发现它有用看QDataWidgetMapper类:
http://pyqt.sourceforge.net/Docs/PyQt4/qdatawidgetmapper.html
如果你不害怕的阅读C ++代码,这个例子也可以证明是有用的:
https://doc.qt.io/qt -4.8 / QT-SQL sqlwidgetmapper-example.html的
请注意,该映射器Qt的模型/视图框架内运作。在这个例子中,该模型恰好是一个SQL数据库模型。
不隶属于 StackOverflow