从.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数据库模型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top