我希望在Meego上进行C ++和QML之间的沟通。它使用C ++ QML绑定发生,如link中所述。
当我在Symbian平台上运行应用程序时,它可以工作,并且可以使用C ++中的数据来操作某些QML文件。
但是在Meego上,它总是说myItem.qml file not found
。
请参阅以下代码段:
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QDeclarativeView view;
MyClass myClass;
view.rootContext()->setContextProperty("myObject", &myClass);
view.setSource(QUrl::fromLocalFile("MyItem.qml"));
view.show();
return app.exec();
}
Meego不支持QML C ++绑定吗?
我还尝试提供QML文件的确切路径,但从未找到该文件,甚至myItem都在项目结构中。
.pro文件等中是否存在与路径设置相关的内容
请帮助解决这个问题,因为我被困在这里,无法使用Qt Quick在我的应用程序中前进。
答案 0 :(得分:1)
是的,但您的问题与C ++和QML绑定无关。您的应用程序(特别是视图)找不到要加载的.qml文件。
默认情况下,我认为meego的默认路径是../qml
。因此,默认情况下,您应该使用/opt/YOURNAME
中的二进制文件和/opt/YOURNAME/bin
中的qml文件打包到/opt/YOURNAME/qml
。
但是,您也可以将qml文件放入资源中,并使用:/
路径来访问资源。
IE,在您的资源文件中:
<RCC>
<qresource prefix="/">
<file>qml/foo.qml</file>
</qresource>
</RCC>
在C ++中:
viewer.setSource(QUrl("qrc:/qml/foo.qml"));