Meego Nokia N950是否支持C ++ QML绑定?

时间:2011-12-19 20:28:35

标签: c++ qt nokia qml meego

我希望在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在我的应用程序中前进。

1 个答案:

答案 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"));