是否可以部署/访问单独的文件,而不是使用Qt资源系统将它们全部放入可执行文件



Qt的资源系统允许您构建具有资源(. .)的可执行文件。Qml的,图像…)嵌入其中。我希望从文件系统中加载这些文件,并将它们与可执行文件一起发布。这是Qt支持的技术吗?任何问题吗?这样做有什么好处吗?

Qt不会限制您在这里可以做什么。这是你的选择。Qt的资源系统在那里,如果你想要它,它不是强迫你的喉咙。不使用它并不意味着你就错了。

如果你想在应用程序中部署文件,那就去做吧——如果它对你的特定应用程序有意义的话。

我个人对小型(<0.25GB)应用程序的偏好是在Windows上有一个漂亮的整体可移植可执行文件,里面有所有东西,如果你不希望,你不必安装——模仿OS x上的应用程序包。

可移植性有帮助,引用的局部性也有帮助:大多数文件系统会比仅仅在同一个文件夹中的文件更努力地将文件的块保持在一起。

如果高级用户需要调整已部署文件的内容,那么使用文件肯定比使用资源更有优势。您还可以使用资源系统作为丢失文件的后备-这样,如果您可以使用,用户可以选择性地提供替代文件。

简而言之:如果它适用于你的应用程序和'商业模式',那就可以了。


除了被Qt支持使用QFile(例如),Qt的资源系统有一些优势:

  • 压缩( ZIP )
  • 在应用程序中的简单用法
  • 不关心丢失的文件(通常)

如果您介意将所有资源添加到可执行文件中不适合您,并且您想要将它们分开,请查看Qt的分离(二进制)资源文件选项。

最新更新