Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QDeclarativePropertyMap Class Reference
[QtDeclarative module]

该QDeclarativePropertyMap类允许您设置,可以在QML绑定使用键 - 值对。More...

继承QObject

Methods

Special Methods

Qt Signals


Detailed Description

该QDeclarativePropertyMap类允许您设置,可以在QML绑定使用键 - 值对。

QDeclarativePropertyMap提供了一个方便的方式来域数据暴露给UI层。下面的例子显示了如何声明在C + +的数据,然后访问它的QML 。

在C + +中的文件:

 // create our data
 QDeclarativePropertyMap ownerData;
 ownerData.insert("name", QVariant(QString("John Smith")));
 ownerData.insert("phone", QVariant(QString("555-5555")));

 // expose it to the UI layer
 QDeclarativeView view;
 QDeclarativeContext *ctxt = view.rootContext();
 ctxt->setContextProperty("owner", &ownerData);

 view.setSource(QUrl.fromLocalFile("main.qml"));
 view.show();

然后,在main.qml

 Text { text: owner.name + " " + owner.phone }

绑定是动态的 - 每当一个键的值被更新,什么都绑定到该密钥将更新。

为了检测在UI层做值的变化可以连接到valueChanged()信号。但是请注意,valueChanged()是NOT更改时通过调用发出的制作insert()或clear() - 它是仅当一个值被从QML更新射出。

Note:这是不可能的,从地图中删除键,一旦一个密钥被添加,你只能修改或清除其关联的值。


Method Documentation

QDeclarativePropertyMap.__init__ (self, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个可绑定的地图与父对象parent

QDeclarativePropertyMap.clear (self, QString key)

清除值(如果有的话)与关联key

bool QDeclarativePropertyMap.contains (self, QString key)

如果地图包含,则返回Truekey

See also size( ) 。

int QDeclarativePropertyMap.count (self)

这是一个重载函数。

size( ) 。

QDeclarativePropertyMap.insert (self, QString key, QVariant value)

设置关联的值keyvalue

如果该键不存在,则会自动创建。

bool QDeclarativePropertyMap.isEmpty (self)

返回True如果映射不包含键,否则返回False 。

See also size( ) 。

QStringList QDeclarativePropertyMap.keys (self)

返回键的列表。

已清除键仍然会出现在这个列表中,即使它们相关的值是无效的QVariants

int QDeclarativePropertyMap.size (self)

返回键映射中的号码。

See also isEmpty()和count( ) 。

QVariant QDeclarativePropertyMap.value (self, QString key)

返回与关联的值key

如果没有值被设置为这个键(或如果该值已被清除) ,无效QVariant返回。

QVariant QDeclarativePropertyMap.__getitem__ (self, QString key)

QDeclarativePropertyMap.__len__ (self)


Qt Signal Documentation

void valueChanged (const QString&,const QVariant&)

这是该信号的默认超载。

这个信号被发射时在地图中的一个值被改变。key是对应于该键value已更改。

Note:的valueChanged ()是NOT更改时通过调用发出的制作insert()或clear() - 它是仅当一个值被从QML更新射出。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5