解決Qt5應用在麒麟Linux下不能輸入中文問題

    解決Qt5在麒麟Linux下不能輸入中文的問題,需要了解fcitx並安裝fcitx的插件庫到應用程序中並啓動fcitx,Fcitx是 (Free Chinese Input Toy for X) 的英文縮寫,中文名爲小企鵝輸入法,是一個以 GPL 方式發佈的輸入法框架, 編寫它的目是爲桌面環境提供一個靈活的輸入方案,徹底解決在GNU/Linux下沒有一個好的中文輸入法的問題。

用Qt編寫的應用程序,在Linux系統上回出現切換不到中文輸入的情況,解決Linux下不能輸入中文的方法如下:

1. 在GitHub上個下載fcitx插件源碼,地址如下:https://github.com/fcitx/fcitx-qt5

    下載fcitx輸入法框架的源碼到本地,且本地必須安裝了cmake才能進行後續的編譯輸出。

2. 修改根目錄文件 CMakeLists.txt, 在"set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)"行之後加入:

set(Qt5Core_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5Core/)

set(Qt5Gui_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5Gui/)

set(Qt5Widgets_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5Widgets/)

set(Qt5DBus_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5DBus/)

3. 編譯源碼:

cmake .

make

sudo make install

    主要是想得到通過源碼編譯到的libfcitxplatforminputcontextplugin.so庫。考慮到有些機器可能安裝的環境不全,導致編譯輸出庫受阻,特將我自己編譯的Linux動態庫libfcitxplatforminputcontextplugin.so以及詳細的處理步驟整理上傳至CSDN,地址如下:

http://download.csdn.net/download/shado_walker/9766621】。

 4. 把編譯得到 libfcitxplatforminputcontextplugin.so 拷貝到 Qt5.5安裝目錄的 

/XXX/Qt5.5.1/5.5/gcc_64/plugins/platforminputcontexts/

/XXX/Qt5.5.1/Tools/QtCreator/bin/plugins/platforminputcontexts/

下(拷貝之後記得加 755 權限) 。

/***********************************位置註解**********************************/

(1) /XXX/Qt5.5.1/5.5/gcc_64/plugins/platforminputcontexts/ 這個目錄是用qt creator編譯出的程序運行時調用插件的目錄,在編譯出的程序下新建

plugins/platforminputcontexts/ 目錄,再將libfcitxplatforminputcontextplugin.so放進去也是可以的。

(2) /XXX/Qt5.5.1/Tools/QtCreator/bin/plugins/platforminputcontexts/ 這個目錄是qt creator自己調用插件的目錄,所以要想在qt creator中輸入中文,libfcitxplatforminputcontextplugin.so庫在這裏也要放一個。

/*******************************************************************************/

5. 如果是用Qt編譯的應用程序包,可將編譯好的libfcitxplatforminputcontextplugin.so庫直接放到plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so位置,然後重啓機器,應該就可以輸入中文了。

6. 如果以上五部正確執行後,還是不能輸入中文,則在 ~/.profile 或 /etc/profile 文件末尾添加:

GTK_IM_MODULE=fcitx

export XIM_PROGRAM=fcitx

export XIM=fcitx

export QT_IM_MODULE=fcitx

export GTK_IM_MODULE=fcitx

export XMODIFIERS="@im=fcitx"

然後註銷重啓機器,這樣就解決了不能輸入中文的問題了。


通過以上六部,基本就可以實現在麒麟Linux系統中不能輸入中文的問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章