Qt5 将 qrc 移至 DLL
Posted
技术标签:
【中文标题】Qt5 将 qrc 移至 DLL【英文标题】:Qt5 move qrc to DLL 【发布时间】:2016-12-23 18:58:55 【问题描述】:在我的解决方案中,我想创建第二个辅助应用程序,它将使用与我的主应用程序相同的资源。所以我想将我所有的 .qrc 文件移动到 DLL 并同时在两个应用程序中使用它。 我选择了 dll 格式,因为将来我的解决方案将包含我将放入该 dll 中的共享函数。
我应该如何编译和附加 DLL 以使用标准 .qrc 文件等两个应用程序中的资源?
【问题讨论】:
我不太明白你在问什么。您需要进一步了解流程的哪一部分?我相信您知道如何使用一些资源构建库:它与构建应用程序没有什么不同,只是您使用TEMPLATE = lib
而不是TEMPLATE = app
。我还确定您知道如何使用 LIBS += ...
条目使您的项目与 DLL 链接。请准确说明你不知道什么,以及你已经做过什么。另请注意,您可能希望通过选择变体作为命令行参数,让一个应用程序像两者一样运行。
好的,我大概可以正确制作一个DLL,但是我不知道如何使用该库中的资源,以及如何从设计器表单中使用它
@km2442 我认为您将无法在设计器中使用来自 dll 的资源。但是您将能够使用 QFile 等打开这些文件
【参考方案1】:
从资源或构建的角度来看,没有区别。
DLL 的.pro
文件引用其资源文件的方式与应用程序的.pro
文件完全相同。
然后可以使用QT_INIT_RESOURCE
宏将库资源“树”“导入”到应用程序中,请参阅http://doc.qt.io/qt-5/resources.html#using-resources-in-a-library
【讨论】:
您能否提供一个仅包含 .qrc 的 DLL 示例以及使用 DLL 资源的应用程序?我无法在应用资源树中显示资源:(以上是关于Qt5 将 qrc 移至 DLL的主要内容,如果未能解决你的问题,请参考以下文章