如何在Qt资源文件中包含和释放exe等各种类型文件?



  • 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放exe可执行文件,结果没有谁给我一个准确的答复!!!!

    Qt做为开发了这么多年的跨平台GUI开发解决方案,我相信这应该不是问题,只是我不了解Qt而已!在网上搜索,绝大多数的关于Qt资源文件的文章,基本上都是照抄Qt的官方说明而已,并没有提到我说的问题!!!经过努力,终于解决了!!!下面我将详细说明如何做到这一切,以后遇到类似问题朋友可以理解解决!!!!

    http://www.cnblogs.com/sunylat/p/6535976.html



  • 把exe文件添加到qrc文件中
    读取就用QFIle打开,比如QFile file(":/something/res/something.exe"),打开后读取就行了,只能以只读的方式打开



  • @sunylat

    原因如下:

    1.你的目的明明是"如何把各种类型的文件存放进qrc中?如何在运行时提取这些文件到指定目录下?",你知道"释放"是什么意思么?提问题的时候动动脑子,不要增加别人的阅读难度."绝大多数的关于Qt资源文件的文章,基本上都是照抄Qt的官方说明而已,并没有提到我说的问题",你提的问题是个人都看不懂.我之所以能看懂,是因为我看了你的代码,知道你只是想提取资源而已.

    2.假设你想把一个1T的mp4文件放进资源文件中,这意味着QT会把这1T的文件编译进目标文件中,你会发现QT生成的exe有1T大!谨慎使用QT资源机制.



  • 可以采用Qt Installer Framework。它的原理是在installer后面附加资源并且有效管理。而且界面更加友好。还有一种可行的方法就是采用7-zip的sfx模块。


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.