C++与QML传值信号1:
DataProvider.h
class DataProvider:public QObject
{
Q_OBJECT
Q_PROPERTY(QDeclarativeListProperty<PackageInfo> List READ List WRITE setList NOTIFY ListChanged)
public:
explicit InstallDataInfo();
~InstallDataInfo();
Q_INVOKABLE void List();
Q_INVOKABLE void setList(const QString&); //(1),这样申明可以在QML中调用此函数;
private:
void setList(const QString&); //(2),这样申明仅仅可以在c++中调用此函数;
signals:
void ListChanged();
}
C++与QML传值信号2:
DataProvider.h
class DataProvider:public QObject
{
Q_OBJECT
Q_PROPERTY(QDeclarativeListProperty<PackageInfo> List READ List WRITE setList NOTIFY ListChanged)
signals:
void ValChanged(QString value)
}
=======================================================================
在main.cpp为qml调用注册type
qmlRegisterType<DataProvider>("DataProvider", 1, 0, "DataProvider");
在具体实现qml中必须 import DataProvider 1.0
接收C++信号1:
dataprovider.List();
接收C++信号2:
property string data : "..."
DataProvider
{
id: dataprovider;
onValChanged:{
console.log("value :"+value);
data = value;
}
}
fmoonstar 更新至2013/05/17
1668

被折叠的 条评论
为什么被折叠?



