Qt做发布版,解决声音和图片中文字体乱码问题(需要在main里写上QApplication::addLibraryPath("./plugins")才能加载图片,有图片,很清楚)
Posted 学习随笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt做发布版,解决声音和图片中文字体乱码问题(需要在main里写上QApplication::addLibraryPath("./plugins")才能加载图片,有图片,很清楚)相关的知识,希望对你有一定的参考价值。
前些天做Qt发布版,发现居然不显示图片,后来才发现原来还有图片的库没加!找找吧,去qt的安装包,我装在了F盘,在F盘F:/QT/qt/plugins,找到了plugins,这里面有个
imageformats是图片的库,里面有jpg,gif等,你用到那种格式就加那种!加的时候一点过要注意,将imageformats这个文件夹考到你的程序当前文件夹内!并在主函数里加:QApplication::addLibraryPath("./plugins");
这样你的带图片的发布版就做好了!
看一看发布版(一般生成release)一般需要的dll吧!
中文字体发布后都是乱码,解决办法和图片差不多,同上先找到plugins,在找到codecs,在你的程序当前文件夹下创建piugins文件夹,将这codecs文件夹拷到piugins文件夹,并在主函数里加:
QApplication::addLibraryPath("./plugins");
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
(windows是GB2312;linux是GB2312/UTF-8;arm板里用UTF-8,并且要设置字体,一般用wenquanyi)
说完图片,字体,那么声音怎么加呢,看到phonon_backend这个文件夹了吧,这就是声音啊!首先解释下qt的声音吧,在qt中是有两种办法来加声音的,最简单的就是用QSound,
QSound a("bomb.wav");
a. play();
如果用QSound,做发布版是不需要再添加什么的,直接用就行,但是这个QSound貌似不夸平台呢!在linux下不好用!(据说得装nas,我装了也不好使!而且arm板也不能装!)所以就得用phonon,这个phonon还是很纠结的,有时间我会单讲它的,因为在qt4.5之前貌似没有这个库,而且在交叉编译时,默认也是没有phonon,加上它,编译就会出好多问题!还是先说windows的吧,poonon它很强大的,它可以播放影音文件~!在window中使用phonon后,做发布版,首先得去F:/QT/qt/bin找到
放到你的可执行程序的文件夹中,然后再去F:/QT/qt/plugins,找到plugins,
和加图片一样,把phonon_backend也放到你的可执行程序的文件夹中。别忘了在main函数中加QApplication::addLibraryPath("./plugins");
(如果你没加)
再看一遍,图片声音都有的发布版吧!
以上是关于Qt做发布版,解决声音和图片中文字体乱码问题(需要在main里写上QApplication::addLibraryPath("./plugins")才能加载图片,有图片,很清楚)的主要内容,如果未能解决你的问题,请参考以下文章
解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)