關於Qt creator 無法使用fcitx輸入中文的問題折騰


環境: 系統ubuntu16.04amd64,qt5.4.2 安裝完qt5.4后,在編寫代碼時,發現無法輸入中文,離開qt creator 就立刻正常。原因似乎是qt對fcitx支持。

解決方法我是參考了下邊兩個博客做的:

1.解決Qt5 Creator無法切換輸入法(fcitx),Ubuntu中不能使用搜狗輸入法錄入漢字問題

2.QT5.6.0無法切換fcitx中文輸入法問題記錄

我的實踐出兩種方法解決: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 默認環境路徑配置方法

 然后下載fcitx-qt5
 
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是不變的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM