【发布时间】:2016-08-23 21:36:12
【问题描述】:
Qt's resource system 允许您构建一个可执行文件,其中嵌入了资源(.qml's、图像...)。我想改为从文件系统加载文件,并将它们与我的可执行文件一起发送。这是 Qt 支持的技术吗?有什么陷阱吗?一种或另一种方式有什么优势吗?
【问题讨论】:
标签: qt file filesystems
Qt's resource system 允许您构建一个可执行文件,其中嵌入了资源(.qml's、图像...)。我想改为从文件系统加载文件,并将它们与我的可执行文件一起发送。这是 Qt 支持的技术吗?有什么陷阱吗?一种或另一种方式有什么优势吗?
【问题讨论】:
标签: qt file filesystems
Qt 不会限制您在这里可以做什么。这是你的选择。如果您需要,Qt 的资源系统就在那里,它不会强行压在您的喉咙上。不使用它不会让你自动出错。
如果您想将文件与您的应用程序一起部署,那就去做吧 - 如果它对您的特定应用程序有意义。
我个人对小型 (
与稍强的引用局部性一样,可移植性有所帮助:大多数文件系统会尝试将文件的块保持在一起,而不是仅仅在同一文件夹中的文件。
如果高级用户中有任何实用程序可以调整部署文件的内容,那么使用文件肯定比使用资源更有优势。您还可以使用资源系统作为丢失文件的后备 - 这样用户可以选择提供替换文件,如果您可以使用的话。
【讨论】:
QSettings 和一个ini 文件一起使用,而不是使用资源系统无法工作的可执行文件。
简而言之:如果它适用于您的应用程序和“商业模式”,那就可以了。
除了使用QFile(例如)被Qt支持之外,Qt's resource system还有一些优势:
如果您介意将所有资源添加到可执行文件中对您不起作用并且您想将它们分开,请查看seperate (binary) resource files with Qt 的选项。
【讨论】: