最近要使用 Ubuntu环境下的Qt 进行开发程序,按照老大们的意见,都装成目前最新的版本吧,之后,问题也就来了。
背景:Ubuntukylin 14.04 、Qt 5.3.1
NOTE: 所有的更新已经完成。使用的是Fcitx的搜狗输入法。
开始的时候在网上找了很多解决方法,比较靠谱的有两个,一个是添加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但是这个方法使用之后也没有效果,后来看到了 解决qt5在ubuntu下无法调用fcitx输入中文的问题 - ☆雨后星辰☆ - 博客园
http://www.cnblogs.com/AfterTheRainOfStars/p/3768484.html#3022718,也曾咨询过博主,两个deb的包在qt5.3的环境下是无法安装成功的。其实,雨后星辰的方法和第一个方法类似,也是对Qt所支持的输入法进行更改,添加fcitx的库,但是两个方法好像都不全。后来在网上看到有人进行了配置文件修改,才恍然大悟,原来问题是在这里。之后解决起来就简答了,在方法1的基础上进行配置文件修改,
在终端中对配置文件进行修改,使用命令 gedit ~/.profile打开配置文件,在文档末尾添加export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
之后进行保存,重启fcitx。重启系统。
Note:Qt 中默认的快捷键与输入法的激活快捷键是有冲突的,需要进行设定。一切搞定!