因此,PySide2已经移除了QVariant*类型。
但是,QtQuick暴露了大量的QVariant API。
更具体地说,我想使用非常方便的功能,将QVariantList作为ListView的模型传递,而无需实现完整的QAIM。
然而,通过setContextProperty将这样的对象提供给QML。
class Test(QObject):
def __init__(self):
super(Test, self).__init__()
self.propertyList = ["FOO", "BAR", 1]
def model(self):
return self.propertyList
modelChanged = Signal()
model = Property(list, model, notify=modelChanged)
然后打印.model会产生以下结果:
qml: QVariant(PySide::PyObjectWrapper)
那么如何以一种QML实际理解的形式将Python列表传递到QML呢?