2015年9月12日补充:
由于
Qt5.4对之前的Qt5版本不是二进制兼容,导致
系统提供的libfcitxplatforminputcontextplugin.so不在能正常工作,起先会导致Qt Creator崩溃,后来崩溃解决,但输入依然切换不出来,
fcitx-qt5开发小组在fcitx-qt51.0.3版解决bug,因此解决问题的办法是自己编译最新fcitx-qt5 详细步骤再这里:解决Qt5 Creator无法切换输入法(fcitx),Ubuntu中不能使用搜狗输入法录入汉字问题
------------------------------------------------------------------------------------------------------------------------笔者系统环境,Ubuntu 14.04,输入法fcitx下搜狗输入法。
其它非Ubuntu linux发行版,不通过软件源安装Qt5,从Qt官网
http://qt-project.org/下载安装包,也存在这个问题。
在Ubuntu下解决方法如下,其它linux发行版解决方法雷同
1.安装fcitx for Qt5动态库
sudo apt-get install fcitx-libs-qt5
注:这一个命令
执行完毕后,系统中已经具备基于Qt5的程序的汉字录入环境支持。存在一个奇怪现象是,Qt5所带的Qt Creator依然无法切换输入法,而且刚刚编译的程序,也无法录入汉字,但卸载掉Qt5开发环境后,刚刚编译的程序居然可以切换输入法,录入汉字了。这个现象说明,卸载Qt5开发环境后,同样的程序,使用系统提供的依赖库环境,录入汉字问题消失。问题出在Qt5开发环境缺少fcix for Qt5动态库上面。
2.向Qt5开发环境安装fcitx for Qt5支持
进入 /Qt5.3.1/Tools/QtCreator/bin/plugins/platforminputcontexts
目录发现
官网提供的安装包仅仅有libibusplatforminputcontextplugin.so,对ibus输入法的支持
cd ~/Qt5.3.1/Tools/QtCreator/bin/plugins/platforminputcontexts
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so .
chmod +x libfcitxplatforminputcontextplugin.so
上面解决了Qt5 Creator汉字输入问题,新编译的程序运行库环境目录是~/Qt5.3.1/5.3/gcc_64/plugins/platforminputcontexts$
依然执行如下命令
cd ~/Qt5.3.1/5.3/gcc_64/plugins/platforminputcontexts$
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so .
chmod +x libfcitxplatforminputcontextplugin.so