这个问题从我第一次在Ubuntu上使用Qt便困扰着我,奈何以前一直没认真去解决掉这个问题。今天做死想一想,这个不可能解决不掉的。由于那么多人用Ubuntu,并且又那么多人用Qt的产品,好比Retext。不可能都不能用中文吧,按照这个思路,我决定把这个问题搞清除。html
网上有一份教程(应该说是不少份相同的教程,严重怀疑事不经认证的copy),如:http://www.th7.cn/system/lin/201407/63590.shtml
我不清楚这份教程是适合那个版本的Ubuntu,但对我来讲,那是一个无论用啊。坑的我来回卸载安装重启。最后仍是不能用。linux
个人系统刚安装没多久,版本号:Ubuntu14.10,Qt5.3.1。按理说我没安装一些乱七八糟的东西,库应该不会有问题的啊,并且输入法是严格按照搜狗输入法官网的方法安装的,自动安装了fcitx。
检查一下系统安装的 fcitx系列包:git
~$: dpkg -l fcitx*
结果显示以下:
https://images0.cnblogs.com/blog2015/502942/201504/111944169154983.pnggithub
其中,有一项:fcitx-frontend-qt5 是后来经过命令安装的。这个包也是Qt项目能在Ubuntu下输入中文的关键项目。shell
网上和Qt的QQ群里找了一下资料发现须要安装fcitx-frontend-qt5 ,因此手动安装了一下,但发现系统中已经有了,因此应该不是这个问题。(我以前参照安装ibus-qt4的方式安装了一下fcitx*qt*)shell命令以下:微信
~$: sudo apt-get install fcitx*qt*
但这种方式其实并无解决问题,也无论用。
最后急了,想是后是由于Qt找不到库文件呢,在QQ群里也获得了印证,因此尝试将fcitx-frontend-qt5输入法部分复制到Qt中:(个人Qt安装目录是:/home/myname/Qt5.3.1/)
首先找到fcitx-frontend-qt5的库的安装位置:~$: dpkg -L fcitx-frontend-qt5
markdown
~$: sudo apt-get install fcitx-frontend-qt5 ~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /home/myname/Qt5.3.1/5.3/gcc_64/plugins/platforminputcontexts ~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /home/myname/Qt5.3.1/Tools/QtCreator/bin/plugins/platforminputcontexts/
而后再次重启QtCreator,O,GOD !仍是不能够用了~~~~~但发现状态栏输入法部分有问题,遂更改之:输入法选择:搜狗输入法,文本输入选择En或Zh,不是pinyin,再在QtCreator里测试了一下,呵呵,解决了~_~ 。frontend
我装了markdown编辑器Retext,一样也是不能输入中文,因为Retext也是基于Qt库,因此我想能不能也用此种方法解决呢。先查看Retext安装目录(我是使用终端进行安装的~$: sudo apt-get install retext
):
首先找Retext安装位置:~$: dpkg -l retext
编辑器
能够看到,基本是在目录:/usr/share/retext/,并且没找到plugins这样的目录,那咱们就先测试一下copy到根下能不能用吧:测试
~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /usr/share/retext
复制后,打开Retext测试一下,发现,呵呵,能用中文了~~~~OY !
此文档即是使用其进行编写的!
至此,猜测,之后若是再遇到这种不能输入中文的问题,就将fcitx-frontend-qt5copy到程序目录下看看~~~想来其余的应该也是这样。因为网上的关于这方面的教程本人实测后都没有效果,因此将此方法记录下来,给尚未解决的人一个参照。
最后,在QQ群里,有人向我推荐了一个博文:http://blog.csdn.net/crazyboy2009/article/details/38537099,后来看看,好吧,看来我得改进改进搜索方式了~~。看到有网友回复不能用,好像是由于:复制时要更改文件权限 shmod a+x。个人并无出现这个问题,若是不能用,试一下改改权限。