Qt包括可执行文件内的资源目录结构

时间:2012-06-27 14:24:46

标签: qt qtwebkit

我正在使用QWebView来运行网络应用。有650多个文件。将Web应用程序的目录放在源目录中不会导致可执行文件捆绑目录。

如何包含整个Web应用程序目录,以便可执行文件能够呈现文件。

注意:我目前已经将index.html添加为资源,并且可以使用qrc://访问它 - 但由于我无法将整个目录结构添加到qrc(可以吗?),因此可执行文件不包含其他文件。

1 个答案:

答案 0 :(得分:2)

您需要使用Qt资源系统将XML节点放入要使用的.qrc文件

这可以使用简单的预构建脚本来完成。看看qrcgen。引用此链接背后的博文:

  

我创建的脚本qrcgen获取目录和前缀,递归扫描目录并生成与扫描目录同名的 .qrc 文件。它解决了我的问题,我希望它可以帮助别人。它也可以通过PyPI获得,只需“ easy_install qrcgen ”。


为了在目录竞争发生变化时更新.qrc文件,您需要在构建过程中包含此步骤:

  • 对于 C ++ / Qt 项目,您可以在QtCreator的构建配置中添加此步骤,或在qmake文件中添加system(...)语句。请注意,这些命令通常不可移植。 (如果它不可移植,您可以在多个命令周围放置一些操作系统条件。)

  • 对于 PyQt / PySide 项目,我不知道该怎么做,但我相信你也找到了解决方案。