环境:系统ubuntu16.04amd64,qt5.4.2 安装完qt5.4后,在编写代码时,发现无法输入中文,离开qt creator 就立刻正常。原因似乎是qt对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 默认环境路径配置方法
ubuntu 16.04 安装qt5.4之后还是默认使用系统自带的qt4.8,经查证需要在
在目录/usr/lib/x86_64-linux-gnu/qt-default/qtchooser里面的default.conf设置了默认的路径,只需要将此路径改为你自己安装目录就可以了。
然后下载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/+archive/primary/+files/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(https://launchpad.net/ubuntu/+archive/primary/+files/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”目录下
但实际我发现,它是自动安装到了其中一个目录,我试了试,不拷贝也可以,但是为保险我还是拷贝了。
自此完成。