【问题标题】:Is it ok to deploy/access separate files rather than using the Qt Resource System which puts them all into the executable?是否可以部署/访问单独的文件,而不是使用将它们全部放入可执行文件的 Qt 资源系统?
【发布时间】:2016-08-23 21:36:12
【问题描述】:

Qt's resource system 允许您构建一个可执行文件,其中嵌入了资源(.qml's、图像...)。我想改为从文件系统加载文件,并将它们与我的可执行文件一起发送。这是 Qt 支持的技术吗?有什么陷阱吗?一种或另一种方式有什么优势吗?

【问题讨论】:

    标签: qt file filesystems


    【解决方案1】:

    Qt 不会限制您在这里可以做什么。这是你的选择。如果您需要,Qt 的资源系统就在那里,它不会强行压在您的喉咙上。不使用它不会让你自动出错。

    如果您想将文件与您的应用程序一起部署,那就去做吧 - 如果它对您的特定应用程序有意义。

    我个人对小型 (

    与稍强的引用局部性一样,可移植性有所帮助:大多数文件系统会尝试将文件的块保持在一起,而不是仅仅在同一文件夹中的文件。

    如果高级用户中有任何实用程序可以调整部署文件的内容,那么使用文件肯定比使用资源更有优势。您还可以使用资源系统作为丢失文件的后备 - 这样用户可以选择提供替换文件,如果您可以使用的话。

    【讨论】:

    • 谢谢,好点。您能否详细说明“可移植性有帮助”? Qt 资源系统是否让事情更便携(在不同的操作系统/平台之间)?
    • 我说的是便携式应用程序:那些不需要安装的应用程序。但是,是的,Qt 资源系统还有助于提高可移植性:您不必担心文件的最终位置。
    • 好点'高级用户调整部署文件的内容'。我有时将它与QSettings 和一个ini 文件一起使用,而不是使用资源系统无法工作的可执行文件。
    【解决方案2】:

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


    除了使用QFile(例如)被Qt支持之外,Qt's resource system还有一些优势:

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

    如果您介意将所有资源添加到可执行文件中对您不起作用并且您想将它们分开,请查看seperate (binary) resource files with Qt 的选项。

    【讨论】:

      猜你喜欢
      • 2012-03-20
      • 2023-03-27
      • 1970-01-01
      • 2020-10-18
      • 2015-11-07
      • 2022-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多