小编Але*_*хин的帖子

更改后,QT QML资源文件不会重新编译

我正在使用QT 5.9.1在Mac OS上工作.我的项目是带有C++逻辑和QML UI Layer的移动应用程序.所有QML文件都包含在qml.qrc文件中,因此在我的.pro文件中

RESOURCES + = qml.qrc

在qml.qrc里面有一个我在Project中使用的所有资源文件的列表,比如图片,图标和QML文件,在QT Creator中显示OK:

源文件列表

正如您所看到的,当其他文件位于子文件夹中时,一些QML文件位于qml.qrc的ROOT路径中,例如"qrc:/ Elements /".

所以问题是我在位于qml.qrc的根目录中的文件中进行了更改 - 当我按下构建,重建或清理和构建时,它们通常会被重新编译,所以我可以看到我的更改.因此,在我的构建目录中,我看到qml_qrc.cpp(因为我理解这个文件包含我的资源文件的cpp表示并用于编译它们)文件被刷新,我的更改被应用,一切正常.

这里只是这个文件的一部分,它以MainPage.qml资源文件的cpp十六进制表示开头.

/************************************************资源对象代码****创建者:Qt版本5.9.1的资源编译器****警告!此文件中所做的所有更改都将丢失!*****************************************************************************/

静态常量无符号字符qt_resource_data [] = {// /Users/admin/QtProjects/LazuritApp-temp/MainPage.qml
0x0,0x0,0x7,0xd1,为0x0,
0x0,0x1e,为0xBB,0x78,0x9c,0xd5,0x19,0x5d ,0x6f,0xdc,0x36,0xf2,0x7d,0x7f,0x5,0x6f,0xb,0x14,0xbb,0x69,0xa2,0xf5,0xae,0xed,0xa4,0xde,0xa0,0x77,0xf0,0xba,0x49,0x63,0x20 ,0x45,0xda,0xda,0x68,0x1e,0xe,0x45,0xc1,0x95,0xa8,0x15,0x2f,0x5a,0x51,0xa5,0x24,0xdb,0x5b,0xc3,0x40,0xda,0x2,0xed,0x1,0x79 ,0x28,0x70,0x68,0x71,0xcf,0xf7,0xf,0xdc,0xbb,0x6b,0x1b,0x34,0x4d,0xfa,0x17,0xb4,0xff,0xa8,0x43,0x52,0x5f,0x94,

..............

但是,如果我更改位于子文件夹中的资源文件,qml_qrc.cpp文件不会刷新,因此我的资源文件不会重建,即使我尝试清理,然后重建.即使我手动"运行qmake"然后重建.唯一有用的是在这种情况下 - 手动删除构建文件夹(或者更确切地说,您可以删除qml_qrc.cpp文件).因此,按"Build"将创建新的qml_qrc.cpp文件,该文件将包含正确的代码,我在资源文件中进行了更改.

有人可以帮助我或解释为什么会发生这种情况,在这种情况下我该怎么办?手动删除和重建很烦人,但将所有资源文件放在项目的根路径中也不是一个好的决定......

我也尝试过粘贴

更新qml

qml_scenes.depends = $$ PWD/QML Files/OrdersPage.qml

qml_scenes.commands = QMAKE_EXTRA_TARGETS + = qml_scenes

正如这里所描述的,但它没有帮助

resources qt qmake build qml

8
推荐指数
1
解决办法
2003
查看次数

Qt上的QML应用程序工作缓慢,JIT被禁用

我正在为iPhone 开发基于QML的应用程序,在macbook IOS 11(Sierra)上工作.我使用Qt 5.9.1 build,使用最新版本的xCode.一切都运行良好,但在"应用程序输出"中有警告"JML被禁用QML.属性绑定和动画将非常慢.访问https://wiki.qt.io/V4以了解您的平台的可能解决方案". 我尝试通过编辑qv4global_p.h文件来启用JIT,如上面的网页所述,但它没有帮助.我使用IOS模拟器(带有IOS 11.0的iPhone 6,7)进行调试和测试,动画效果(如转换,不透明度变化,按钮点击)真的很慢而且滞后,有关输出控制台中qml对象的手动更新的消息,像"做手动更新......"之类的东西.我没有iPhone,所以我无法检查真实设备上是否存在同样的问题,但似乎是这样,因为我读过simillar主题,而且我没有找到任何信息.

那么,有没有解决这个问题的方法,如何在IOS上获得流畅,正确的qml控件行为?也许带商业许可证的Qt Quick Compiler可以帮助解决这个问题?请帮忙,真的卡在这里..

performance qt jit qml ios

5
推荐指数
1
解决办法
1061
查看次数

标签 统计

qml ×2

qt ×2

build ×1

ios ×1

jit ×1

performance ×1

qmake ×1

resources ×1