int main(int argc, char *argv[])
argc参数个数,包括exe本身,如果有一个参数,则argc=2;
argv[0]为exe,argv[1]为参数;
Qt c++变量暴露给qml使用方法:
engine.rootContext()->setContextProperty("c_loginPara", argv[1]);
暴露已存在的Qt C++对象给QML
//main.cpp
MyClass myObj;
QDeclarativeEngine *engine=viewer.engine();
QDeclarativeContext *context=engine->rootContext();
context->setContextProperty("myObjectExposeByCXProperty", &myObj);
qml中可以直接使用myObjectExposeByCxProperty对象。
//mainpage.qml
...
Button{
...
id:btn1
...
text: qsTr("PROPERTY")
//此处调用myString为MyClass的QPROPERTY的属性不是方法,所以没有括号。
onClicked: label.text=myObjectExposeByCXProperty.myString;
}
网友评论