2020-12-01 問題描述: 在Linux系統(tǒng)中QtCreator不能切換成中文輸入法。
背景知識: Fcitx是 (Free Chinese Input Toy for X) 的英文縮寫,中文名為小企鵝輸入法,是一個以 GPL 方式發(fā)布的輸入法框架, 編寫它的目是為桌面環(huán)境提供一個靈活的輸入方案,徹底解決在GNU/Linux下沒有一個好的中文輸入法的問題。
解決方法:
-
在GitHub上個下載fcitx插件源碼,地址如下:https://github.com/fcitx/fcitx-qt5 下載fcitx輸入法框架的源碼到本地,且本地必須安裝了cmake才能進行后續(xù)的編譯輸出。 -
修改根目錄文件 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/)
- 編譯源碼:
cmake .
make
sudo make install
同為麒麟系統(tǒng),QT版本一樣時,不用再進行編譯,直接將libfcitxplatforminputcontextplugin.so庫拷貝到對應(yīng)的目錄中即可。
庫下載路徑https://download.csdn.net/download/duck251/13212276
- 把編譯得到 libfcitxplatforminputcontextplugin.so 拷貝到 Qt5.5安裝目錄的
/opt/Qt5.14.1/5.14.1/gcc_64/plugins/platforminputcontexts/
sudo cp libfcitxplatforminputcontextplugin.so /opt/Qt5.14.1/5.14.1/gcc_64/plugins/platforminputcontexts/
和 /opt/Qt5.14.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
sudo cp libfcitxplatforminputcontextplugin.so /opt/Qt5.14.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
下(拷貝之后記得加 755 權(quán)限) 。
sudo chmod 755 libfcitxplatforminputcontextplugin.so
目錄位置注解 (1) /XXX/Qt5.14.1/5.14.1/gcc_64/plugins/platforminputcontexts/ 這個目錄是用qt creator編譯出的程序運行時調(diào)用插件的目錄,在編譯出的程序下新建 plugins/platforminputcontexts/ 目錄,再將libfcitxplatforminputcontextplugin.so放進去也是可以的。 (2)/XXX/Qt5.14.1/Tools/QtCreator/lib/Qt/platforminputcontexts/ 這個目錄是qt creator自己調(diào)用插件的目錄,所以要想在qt creator中輸入中文,libfcitxplatforminputcontextplugin.so庫在這里也要放一個。
重啟,QtCreator軟件,即可輸入中文了。
-
如果是用Qt編譯的應(yīng)用程序包,可將編譯好的libfcitxplatforminputcontextplugin.so庫直接放到plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so位置,然后重啟機器,應(yīng)該就可以輸入中文了。 -
如果以上五部正確執(zhí)行后,還是不能輸入中文,則在 ~/.profile 或 /etc/profile 文件末尾添加:
export 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"
然后注銷重啟機器,這樣就解決了不能輸入中文的問題了。
參考文章: 解決Qt5應(yīng)用在麒麟Linux下不能輸入中文問題 https://blog.csdn.net/Shado_walker/article/details/58636752?utm_source=blogxgwz3
解決Qt5 Creator無法切換輸入法(fcitx),Ubuntu中不能使用搜狗輸入法錄入漢字問題(各種編譯錯誤,可以參考此文) https://my.oschina.net/lieefu/blog/505363?p=3#comments
|