環境: 系統ubuntu16.04amd64,qt5.4.2 安裝完qt5.4后,在編寫代碼時,發現無法輸入中文,離開qt creator 就立刻正常。原因似乎是qt對fcitx支持。
解決方法我是參考了下邊兩個博客做的:
1.解決Qt5 Creator無法切換輸入法(fcitx),Ubuntu中不能使用搜狗輸入法錄入漢字問題
我的實踐出兩種方法解決:1.改用ibus 2.解決fcitx與支持問題
先說第一種,分以下幾步驟:
1)安裝iBus
sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4
2)安裝拼音輸入法
sudo apt-get install ibus-pinyin ibus-sunpinyin
3)設置ibus 添加拼音輸入法
ibus-setup
4)在系統設置,語言支持選項中,鍵盤輸入法系統,選擇iBus
5)注銷,重新登陸。
第一種方法結束。
這在我第一台電腦上是成功的,但是第二台電腦上,確是出現了只能選擇中文輸入法的問題(按shift 也能輸入英文,但是不方便),折騰許久不能解決。而且卸載iBus時,使用命令:
sudo apt-get remove --purge ibus
導致把unity誤卸載。然后我重裝了 unity .具體解決方法請看我另一篇博客。
接着我進行了軟件更新(系統也更新了)。
然后進行了第二種方法,自己編譯fcitx-qt5:
首先,自己系統要裝有Cmake和 fcitx-libs-dev
sudo apt-get install cmake sudo apt-get install fcitx-libs-dev
而且QT5的環境變量要設置正確,設置方法:QT 默認環境路徑配置方法
git clone git@github.com:fcitx/fcitx-qt5.git
如果無法克隆,請直接到gitHub上下載。(我就是這么干的)
編譯安裝就好做了:
cd fcitx-qt5 cmake . make sudo make install
編譯遇到錯誤參考上邊兩個博客就好。
我遇到的錯誤是ECM和的libxkbcommon的缺失。
這個頁面 https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1 下載 extra-cmake-modules_1.4.0.orig.tar.xz
https://launchpad.net/ubuntu/+source/extra-cmake-modules/5.18.0-0ubuntu1 extra-cmake-modules_5.18.0.orig.tar.xz
解壓后我兩個都安裝了:
cd extra-cmake-modules-*** cmake . make sudo make install
以及
sudo apt install libxkbcommon-dev
就可以解決了。
參考資料上說還要:最后把編譯得到 libfcitxplatforminputcontextplugin.so 拷貝到 Qt5.5安裝目錄的 Tools/QtCreator/bin/plugins/platforminputcontexts 和Qt5.*.*/5.*/gcc_64/plugins/platforminputcontexts”目錄下
但實際我發現,它是自動安裝到了其中一個目錄,我試了試,不拷貝也可以,但是為保險我還是拷貝了。
自此完成。
感謝,上邊兩位博主。
## 2017-10-26 更新 ##
最近一次搭建環境,發現第二種方法已經不需要編譯了,只需要:
sudo apt-get install fcitx-libs-qt fcitx-libs-qt5
然后 拷貝 /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 到上述 QtCreator的插件目錄和 Qt 庫 插件目錄 即可, 新版本 插件目錄略有不同,但是父級目錄platforminputcontexts是不變的。
