这个问题从我第一次在Ubuntu上使用Qt便困扰着我,奈何之前一直没认真去解决掉这个问题。今天作死想想,这个不可能解决不掉的。因为那么多人用Ubuntu,而且又那么多人用Qt的产品,比如Retext。不可能都不能用中文吧,按照这个思路,我决定把这个问题搞清除。

网上有一份教程(应该说是很多份相同的教程,严重怀疑事不经认证的copy),如:http://www.th7.cn/system/lin/201407/63590.shtml

我不清楚这份教程是适合那个版本的Ubuntu,但对我来说,那是一个不管用啊。坑的我来回卸载安装重启。最后还是不能用。

我的系统刚安装没多久,版本号:Ubuntu14.10,Qt5.3.1。按理说我没安装一些乱七八糟的东西,库应该不会有问题的啊,而且输入法是严格按照搜狗输入法官网的方法安装的,自动安装了fcitx。

检查一下系统安装的 fcitx系列包:

~$: dpkg -l fcitx*

结果显示如下:

https://images0.cnblogs.com/blog2015/502942/201504/111944169154983.png

其中,有一项:fcitx-frontend-qt5 是后来通过命令安装的。这个包也是Qt项目能在Ubuntu下输入中文的关键项目。

网上和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

~$: 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 !还是不可以用了~~~~~但发现状态栏输入法部分有问题,遂更改之:输入法选择:搜狗输入法,文本输入选择EnZh,不是pinyin,再在QtCreator里测试了一下,呵呵,解决了~_~ 。

我装了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。我的并没有出现这个问题,如果不能用,试一下改改权限。

附录

Ubuntu下Qt(Retex)无法输入中文的更多相关文章

  1. 解决Ubuntu下sublime中不能输入中文的问题

    解决Ubuntu下sublime中不能输入中文的问题 Ubuntu下安装sublime后,不能输入中文,而在其他软件中能正常输入,这是sublime的bug,解决方案是在通过shell在每次运行sub ...

  2. 解决 Ubuntu 下 Sublime Text 无法输入中文的问题

    解决 Ubuntu 下 Sublime Text 无法输入中文的问题 1. 安装依赖库 sudo apt-get install build-essential sudo apt-get instal ...

  3. 解决qt5在ubuntu下无法调用fcitx输入中文的问题

    如题,在以前安装qt5.2.1的时候就遇到了这个问题.当时上网搜了很多资料,结果都解决不了,发现都是复制来复制去. 这次因为要用qt5.3.0在ubuntu下写个程序,所以不解决这个问题不行了.就继续 ...

  4. Ubuntu下搜狗输入法突然无法输入中文

    百度了很久的,后面看到这个帖子,找到解决办法.引用:http://blog.csdn.net/kiss_the_sky/article/details/62238529 删除配置文件,重启搜狗 ubu ...

  5. Ubuntu下搜狗拼音突然无法输入中文的解决办法

    搜狗输入法前段时间还可以正常使用,突然今天无法输入中文了.这种情况在Ubuntu中非常常见,可能的原因有3个:1.可能依赖有问题.2.配置文件出错了.3运行出错,需要重新启动一下. 因为我的这个是突然 ...

  6. ubuntu下wps无法使用搜狗输入法输入中文

    sudo vim /usr/bin/et sudo vim /usr/bin/wps sudo vim /usr/bin/wpp 以上三个文件,都加入如下内容后重新打开文档即可 export XMOD ...

  7. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  8. Visual Studio下Qt编程中对中文的处理

    Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual St ...

  9. 基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案

    基于Windows环境下cmd/编译器无法输入中文,显示中文乱码解决方案 两个月前做C++课设的时候,电脑编译器编译结果出现了中文乱码,寻求了百度和大神们,都没有解决这个问题,百度上一堆解释是对编译器 ...

  10. Ubuntu下 QT添加外部链接库(.so文件)示例

    参考:https://blog.csdn.net/KKALL1314/article/details/81915354 https://forum.qt.io/topic/80301/file-not ...

随机推荐

  1. linux下安装软件的方法(mariadb)

    一.方式 1. rpm (不推荐使用) 2. yum 安装(非常方便快捷) 3. 编译安装(需要自定制的时候才使用) 二.技术栈 #闭源收费的技术栈: svn + java + apache(web服 ...

  2. linux下忘记mysql的root密码

    一.处理方案 #1. 结束当前正在运行的mysql进程 /etc/init.d/mysql stop #2. 用mysql安全模式运行并跳过权限验证 mysqld_safe --user=mysql ...

  3. Maven-常规问题

    1.编译(compile)Maven项目时,报错: -Dmaven.multiModuleProjectDirectory system property is not set. 处理方案:Windo ...

  4. yum lnmp全家桶

    ######################################################### #by:kingle # #use: lnmp # #version:1.0 # # ...

  5. 解决Input number 框能够能够输入eeeeee 的问题

    onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" 在input  type="n ...

  6. 搭建基于Ubuntu的开发环境

    基于ubuntu 16.04 LTS经验 分区方案 内存:4G,硬盘:500G 分区 大小 说明 备注 / 20G 说明 swap 6G 说明 /tmp 15G 临时文件 /var 40G 可变数据目 ...

  7. 017-Servlet抽取时的BaseServlet模板代码

    package www.test.web.servlet; import java.io.IOException; import java.lang.reflect.Method; import ja ...

  8. MsysGit下GUI乱码问题解决

    在Windows下安装Git-preview-1.7.4后,使用中发现许多的乱码问题,感觉甚是不便.这是因为Git是在linux下开发的管理软件,而linux的编码方式是基于UTF-8的,所以移植到W ...

  9. 深入理解JavaScript系列(31):设计模式之代理模式

    介绍 代理,顾名思义就是帮助别人做事,GoF对代理模式的定义如下: 代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问. 代理模式使得代理对象控制具体对象的引用.代理几乎可以是任何对 ...

  10. Path类 操作文件类

    // Path类 IO命名空间 静态类 不能创建对象类名. string str =@"E:\C#程序设计基础入门教程\(第十一天)\122\22\nee.txt"; ////in ...