Qt 在嵌入式应用程序中部署qml文件时,哪种方法是最好的?
我正在为一个嵌入式项目工作,在Qt 在嵌入式应用程序中部署qml文件时,哪种方法是最好的?,qt,qml,qtembedded,Qt,Qml,Qtembedded,我正在为一个嵌入式项目工作,在QML中开发UI,在C++/Qt中使用DB/其他系统调用开发后端逻辑 部署qml文件的最佳方法是什么? 它是否添加到.qrc(作为资源)并编译为可执行应用程序 或 从导入文件夹加载QML文件(QML文件将被部署) 或者其他建议 我有大约200个QML文件。QML文件在文件系统中 文件存储时不进行压缩和加密 构建速度更快但部署速度较慢 无压缩存储,因此占用更多存储空间 易于在目标上动态更改UI(只需编辑QML并重新启动) 资源文件中的QML文件 资源被编译成二进制
QML
中开发UI,在C++
/Qt
中使用DB
/其他系统调用开发后端逻辑
部署qml文件的最佳方法是什么?
它是否添加到.qrc
(作为资源)并编译为可执行应用程序
或
从导入文件夹加载QML
文件(QML
文件将被部署)
或者其他建议
我有大约200个QML
文件。QML文件在文件系统中
文件存储时不进行压缩和加密
- 构建速度更快但部署速度较慢
- 无压缩存储,因此占用更多存储空间
- 易于在目标上动态更改UI(只需编辑QML并重新启动)
资源被编译成二进制文件,使可执行文件的大小变大
- 构建速度较慢,但部署速度较快
- 由于默认情况下压缩资源,因此占用的存储空间更少
- 由于可执行文件的大小更大,程序运行时占用更多内存
- 在不重新编译的情况下,无法对UI进行更改
如果内存使用是一个问题,那么您可能不需要嵌入资源,并确保尽可能多地使用组件的动态加载。在开发阶段,不使用嵌入式资源更容易。如果是客户项目,我会将客户交付作为嵌入的qml文件。这可以防止客户自行调整UI代码。对于200个qml文件,我认为最好的方法是使用资源文件,并在单个应用程序中编译。这一点很好。你能编辑你的答案来详细说明“参考问题”吗?这有点模糊。感谢更新:现在我更喜欢“资源文件中的QML文件”,如果它添加到可执行文件中,那么启动时间需要时间,所以我计划将资源移动到单独的库中。有很多优点,但我对“需要更多内存,因为可执行文件越大”。例如,在Linux下,我假设qrc放在一个定制的只读.elf部分中。这些页面都是“干净”的,所以如果需要内存,内核可以直接删除它们。@Mitch我没有任何确凿的证据,只是对Qt4的相对路径有一些不好的体验。因此,我将引用问题注释替换为Qt 5文档和示例的链接。@Frank我们讨论的是编译成二进制或单独二进制资源文件的.qrc文件,而不是.qrc文件本身。Qt资源编译器RCC将QRC资源文件中的二进制数据转换成QRC[sOnMAME] CPP文件中的无符号字符数组,然后由C++编译器将其编译成目标文件。