问题环境确认:
系统平台Ubuntu14.04/
安装了搜狗输入法/
安装Qt5.4.1
一般自定义下载来Qt软件包,安装之后,都会有这个问题,在Qt环境下或Qt Creator下不能切换输入法,也不能输入中文。
问题分析:
首先,搜狗输入法依赖fcitx框架,也就是必须先安装fcitx依赖包,搜狗输入才能正常使用。
那么,延生的问题就是:
Qt环境需要fcitx依赖支持,才能正常使用搜狗输入法,
PS:不同的Qt版本对应的fcitx依赖支持是不一样的,
比如我这里是Qt5.4.1(32bit或64bit),
那么对应的fcitx依赖就是:fcitx-libs-qt5
问题解决:
#添加fcitx源
sudo add-apt-repository ppa:fcitx-team/nightly
#更新源
sudo apt-get update
#下载最新的软件(此步可忽略)
sudo apt-get dist-upgrade
#下载fcitx中跟qt5有关的依赖(这里有4个)
sudo apt-get install fcitx-libs-qt5 fcitx-frontend-qt5
fcitx-libs-qt5-dbg fcitx-libs-qt5-dev
#fcitx依赖库至此添加完成
重启Qt Creator,试试看?
别闹了,明显不行的,继续。
到系统如下目录的:
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
把这个.so文件拷贝到Qt环境目录和Qt Creator目录下:
Qt环境目录:
Qt Creator目录:Qt5.4.1/Tools/QtCreator/bin/plugins/platforminputcontexts/放这里
PS:不要忘了chmod +x ...不然白搭
现在重启Qt Creator,试试看?
这里,有些童鞋可以了,
但是有些童鞋反馈Qt Creator一打开直接闪屏退出了,
多次测试,确实发现有这个问题,
据说闪退是因为二进制文件不兼容的原因?(鬼知道是不是呢)
好了,接下来继续,
打开如下地址:
http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/pool/main/f/fcitx-qt5/
(上面这个地址,据说不管用,可以忽略,我自己留着备用)
用我的已经下好的包吧,地址如下:(源文件)
http://pan.baidu.com/s/1c0EWWM0
#因为需要重新编译,需要cmake
#下载cmake
sudo apt-get install cmake
#然后修改系统环境变量下
sudo gedit /etc/profile
#这里尾部,追加如下一句
export PATH=/home/jannn/Application/Qt5.4.1/5.4/gcc_64/bin/:$PATH
#下面进行编译操作
#首先解压
sudo tar -xvf fcitx-qt5-0.1.1
#进入解压后的目录
cd fcitx-qt5-0.1.1
#执行cmake操作,注意后面的点
cmake .
#执行make操作
make
#这里会出现蓝/红/绿多重颜色。说明你是对的
#报错的话,就自己看着办把。
然后拷贝走生成的动态库.so文件,图示
然后拷贝到我上面说的2个Qt目录下,
注意添加chmod +x权限。
这个再附加个提示:上面编译生成的.so文件,Ubuntu64bit和Ubuntu32下是不通用的。
方便大家,我直接编译好了,大家直接下吧。
http://pan.baidu.com/s/1c0EWWM0
你的Ubuntu是多少bit的就下多少bit的吧,不要下错了哈,不然白搭。