Поддерживает ли Meego Nokia N950 привязку C ++ QML? - PullRequest
2 голосов
/ 20 декабря 2011

Я хочу общаться между C ++ и QML на Meego. Это происходит с использованием привязки C ++ QML, как описано в этой ссылке .

Когда я запускаю приложение на платформе Symbian, оно работает, и данные из C ++ доступны для манипулирования в каком-то файле QML.

Но на Миего всегда написано 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 Ответ

1 голос
/ 20 декабря 2011

Да, но ваша проблема не связана с привязками 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"));
...