1

我有一个QVariantMap,我想通过信号传递给 Javascript。

C++:

signals:
    void mysignal( QVariantMap map );


QVariantMap map;
map.insert( "id", 54 );
emit mysignal( map );

js:

mybinding.mysignal.connect( this, function( map ) {
    alert( "Map: " + map );  
} );

现在警报只是显示Map:。有人可以告诉我我做错了什么吗?

4

2 回答 2

1
mybinding.mysignal.connect( this, function( map ) {
    alert( "Map: " + map );  
} );

你的地图是一个对象(QVariantMap)。所以如果你想访问你应该使用的值

mybinding.mysignal.connect( this, function( map ) {
    alert( "Map_ID: " + map.id );  
} );

这会给你一条警告消息,指示 54

于 2015-11-13T07:14:49.047 回答
0

发现通过QVariant作品:

C++:

signals:
    void mysignal( QVariant map );



QVariantMap map;
map.insert( "id", 54 );
emit mysignal( QVariant::fromValue(map) );

为什么绑定只能以这种方式工作?我不知道。

于 2013-07-09T13:40:06.050 回答