您的位置:首页 > 运维架构 > Linux

【Qt移植到linux】问题 qt界面无法输入中文,中文不显示,乱码等问题

2013-12-27 14:53 1111 查看
我的系统是fedora15英文环境,qt4.7.4问题1、开始的时候无法输入中文,无法切换输入法问题2、qt界面中的按钮等中文不显示,这是为什么呢浪费了我好多天,参考了网上好多资料。才最后解决前面的两个问题。  解决方法:1、通过下面方法可以实现在qtcreator输入中文,切换输入法:      1)、首先要安装ibus输入法《fedora中安装IBus的中文输入法(pinyin)》2)、安装IBus-qt4 (fedora15是自带的)
yum install ibus-qt43)、终端输入:vi ~/.profile,在.profile中添加一下内容。(也可以在系统环境变量:/etc/profile中添加)。关于配置环境变量的知识,参考《Sheell配置文件 环境变量设置》
export XMODIFIERS="@im=ibus"export GTK_IM_MODULE=ibusexport QT_IM_MODULE=ximexport ibus &export LC_CTYPE=zh_CN.utf8 4)、重启就ok了。解释:/etc/X11/xinit/xinput.d/ibus.conf      如果未安装 ibus-qt, QT_IM_MODULE 会自动设置为 xim,所以还是可以了录入中文。而 xim 又是配置为使用 ibus。所以,如果未装 ibus-qt,GTK程序会直接使用ibus, QT程序会通过xim使用ibus。2、通过下面方法可以解决qt界面运行后,无法显示中文a、直接在qt源码目录下configure出错经过网上的一番搜索,发现是缺少fontconfig造成的,于是重新configure:
#./configure -fontconfigb、在fontconfig下面make出错问题又来了,configure未通过,提示Fontconfig未通过,于是进入/config.tests/x11/fontconfig目录,执行make,发现缺少freetype相关的头文件,首先保证freetype开发库已经安装:
#yum install freetype#yum install freetype-devel 再次在这里make,还是出错,发现缺少fontconfig开发库,于是
#yum install fontconfig-devel再次make,不再出错。错误情况介绍:错误1: ft2build.h: No such file or directory
命令yum install fontconfig-devel问题解决。
错误2: /usr/include/ft2build.h:56: fatal error: freetype/config/ftheader.h: No such file or directory命令 ln -s /usr/include/freetype2/freetype/ /usr/include/freetyp问题解决。c、然后进入Qt源代码目录,再次执行
#./configure -fontconfig通过。d、发布带中文字库的qt
#gmake#gmake install完成。运行结果如下:这个时候终端输入:
#fontconfig &查看,font标签窗口,里面已经有中文字库支持了 备注1:在linux上,qt中其实不需要更改编码,就可以正常显示中文。既不需要在main函数中加入如下代码,也不需要在qtcreator选项中配置文件编码。qt默认的UTF-8 有BOM的格式,已经很好的解决了中文乱码问题。
 QTextCodec *codec = QTextCodec::codecForName("UTF-8");    QTextCodec::setCodecForTr(codec);    QTextCodec::setCodecForLocale(codec);    QTextCodec::setCodecForCStrings(codec);转自: http://blog.sina.com.cn/s/blog_439371b501012rt5.html  
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  乱码 qt 界面