我的系統是fedora15英文環境,qt4.7.4
問題1、開始的時候無法輸入中文,無法切換輸入法
問題2、qt界面中的按鈕等中文不顯示,這是爲什麼呢
浪費了我好多天,參考了網上好多資料。才最後解決前面的兩個問題。
解決方法:
1、通過下面方法可以實現在qtcreator輸入中文,切換輸入法:
1)、首先要安裝ibus輸入法《fedora中安裝IBus的中文輸入法(pinyin)》
2)、安裝IBus-qt4 (fedora15是自帶的)
yum install ibus-qt4
3)、終端輸入:vi ~/.profile ,在.profile中添加一下內容。(也可以在系統環境變量:/etc/profile中添加)。關於配置環境變量的知識,參考《Sheell配置文件 環境變量設置》。
export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export 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。
a、直接在qt源碼目錄下configure出錯
經過網上的一番搜索,發現是缺少fontconfig造成的,於是重新configure:
#./configure -fontconfig
b、在fontconfig下面make出錯
問題又來了,configure未通過,提示Fontconfig未通過,於是進入/config.tests/x11/fontconfig目錄,執行make,發現缺少freetype相關的頭文件,首先保證freetype開發庫已經安裝:
問題又來了,configure未通過,提示Fontconfig未通過,於是進入/config.tests/x11/fontconfig目錄,執行make,發現缺少freetype相關的頭文件,首先保證freetype開發庫已經安裝:
#yum install freetype
#yum install freetype-devel
再次在這裏make,還是出錯,發現缺少fontconfig開發庫,於是
#yum install fontconfig-devel
再次make,不再出錯。錯誤情況介紹:
命令yum install fontconfig-devel問題解決。
#./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);