gpt4 book ai didi

c++ - Meego Nokia N950 是否支持 C++ QML 绑定(bind)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:33:42 28 4
gpt4 key购买 nike

我想在 Meego 上进行 C++ 和 QML 之间的通信。它使用 C++ QML 绑定(bind),如 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++绑定(bind)吗?

我也试图给出 QML 文件的确切路径,但从未找到该文件,即使 myItem 在项目结构中也是如此。

是否有一些与.pro 文件等中的路径设置相关的东西

请帮助解决这个问题,因为我被困在这里,无法使用 Qt Quick 在我的应用程序中前进。

最佳答案

是的,但您的问题与 C++ 和 QML 绑定(bind)无关。您的应用程序(特别是 View )找不到要加载的 .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"));

关于c++ - Meego Nokia N950 是否支持 C++ QML 绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8567131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com