我知道,可以使用自定义属性定义一个 QObject 并在 QML 环境中公开这个对象。但是这样,对于每个新属性,我都需要重新编译 C++ 代码。
是否有可能进行从 C++/Qt 到 QML 对象的动态绑定?就像是:
//C++ code:
updateProperty("myQmlObject.any_property", "Hello World");
谢谢!
解决了:
_view->rootContext()->setContextProperty( "cppmessage" , "Hello from C++" );
WHERE:view是一个 QDeclarativeView,cppmessage在 QML 中使用,没有事先声明,例如:“text: cppmessage”
此链接对于找到解决方案很有用:http: //xizhizhu.blogspot.com/2010/10/hybrid-application-using-qml-and-qt-c.html