环境: 系统ubuntu16.04amd64,qt5.4.2 安装完qt5.4后,在编写代码时,发现无法输入中文,离开qt creator 就立刻正常。原因似乎是qt对fcitx支持。

解决方法我是参考了下边两个博客做的:

1.解决Qt5 Creator无法切换输入法(fcitx),Ubuntu中不能使用搜狗输入法录入汉字问题

2.QT5.6.0无法切换fcitx中文输入法问题记录

我的实践出两种方法解决:1.改用ibus 2.解决fcitx与支持问题

先说第一种,分以下几步骤:

1)安装iBus

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

2)安装拼音输入法

sudo apt-get install ibus-pinyin ibus-sunpinyin

3)设置ibus 添加拼音输入法

ibus-setup

4)在系统设置,语言支持选项中,键盘输入法系统,选择iBus

5)注销,重新登陆。

第一种方法结束。

这在我第一台电脑上是成功的,但是第二台电脑上,确是出现了只能选择中文输入法的问题(按shift 也能输入英文,但是不方便),折腾许久不能解决。而且卸载iBus时,使用命令:

sudo apt-get remove --purge ibus

  导致把unity误卸载。然后我重装了 unity .具体解决方法请看我另一篇博客。

接着我进行了软件更新(系统也更新了)。

然后进行了第二种方法,自己编译fcitx-qt5:

首先,自己系统要装有Cmake和  fcitx-libs-dev

sudo apt-get install cmake
sudo apt-get install fcitx-libs-dev

  

而且QT5的环境变量要设置正确,设置方法:QT 默认环境路径配置方法

 然后下载fcitx-qt5

git clone git@github.com:fcitx/fcitx-qt5.git

  如果无法克隆,请直接到gitHub上下载。(我就是这么干的)

编译安装就好做了:

cd fcitx-qt5
cmake .
make
sudo make install

编译遇到错误参考上边两个博客就好。 

我遇到的错误是ECM和的libxkbcommon的缺失。

这个页面 https://launchpad.net/ubuntu/+source/extra-cmake-modules/1.4.0-0ubuntu1 下载 extra-cmake-modules_1.4.0.orig.tar.xz

https://launchpad.net/ubuntu/+source/extra-cmake-modules/5.18.0-0ubuntu1  extra-cmake-modules_5.18.0.orig.tar.xz

解压后我两个都安装了:

cd extra-cmake-modules-***
cmake .
make
sudo make install

  

以及

sudo apt install libxkbcommon-dev

 就可以解决了。

参考资料上说还要:最后把编译得到 libfcitxplatforminputcontextplugin.so 拷贝到 Qt5.5安装目录的 Tools/QtCreator/bin/plugins/platforminputcontexts 和Qt5.*.*/5.*/gcc_64/plugins/platforminputcontexts”目录下

但实际我发现,它是自动安装到了其中一个目录,我试了试,不拷贝也可以,但是为保险我还是拷贝了。

自此完成。

感谢,上边两位博主。

## 2017-10-26 更新 ## 

最近一次搭建环境,发现第二种方法已经不需要编译了,只需要:

sudo apt-get install fcitx-libs-qt fcitx-libs-qt5

然后 拷贝 /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 到上述 QtCreator的插件目录和 Qt 库 插件目录 即可, 新版本 插件目录略有不同,但是父级目录platforminputcontexts是不变的。

关于Qt creator 无法使用fcitx输入中文的问题折腾的更多相关文章

  1. Linux下Qt Creator编辑器无法输入中文解决

    Ubuntu安装了搜狗输入法,在浏览器中可以使用,但是在Qt Creator中却无法输入中文. 解决办法: 执行sudo apt-get install fcitx-libs-qt5 该命令将库文件l ...

  2. [转] Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法

    [From] http://blog.csdn.net/qq_21397217/article/details/52447263 1. 安装Fcitx所需组件 $ sudo apt install f ...

  3. Linux下关于Qt无法调用fcitx的中文输入

    1 本机环境: deepin 15.11 Qt 5.11.3 fcitx 输入法 2 问题描述 Qt Creator 和使用 QT 编译的程序运行时均不能使用deepin系统自带的fcitx输入法,且 ...

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

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

  5. qt creator在Qt5中中文显示的问题

    当我们用Qt Creater时,经常出会出现如下问题: 处理方法如下:用记事本打开你的源代码,然后点另存为,utf-8,编码覆盖,这时中文就没问题了但是会乱码.在字符串前加个宏QStringLiter ...

  6. ubuntu16.04~qt 5.8无法输入中文

    编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过. sudo apt-get install cmake 安装 fcitx-libs-dev sudo apt-get in ...

  7. [解决方案] Ubuntu 16.04 下 Qt 5.6 无法输入中文的问题

    0. 环境 系统:ubuntu 16.04 LTS 机子:dell xps13 1. 步骤 1.1 编译 fcitx-qt5 源码 编译fcitx-qt需要cmake,安装cmake命令,如果已经安装 ...

  8. [转]ubuntu16.04~qt 5.8无法输入中文

    编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过. sudo apt-get install cmake 安装 fcitx-libs-dev sudo apt-get in ...

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

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

随机推荐

  1. maven 打包

    使用命令行形式打包 1.配置maven环境变量,在变量path中加入maven路径. 2.在要打包的项目目录下使用:Ctrl+shift+鼠标右键点击,点击 在此处打开命令行窗口. 在打开的命令行窗口 ...

  2. java/python中的队列

    Queue<TreeNode> que=new LinkedList<>(); 用linkedlist实现队列,offer,poll进出队列,peek对列顶部元素 python ...

  3. pyspider爬豆瓣电影实例

    直接copy官网实例会出现599的错误,百度了很久发现是因为证书的问题 添加这一句忽略证书 validate_cert = False 代码如下: ++++++++++++++++++++++++++ ...

  4. 通过jquery的serializearray处理表单数据成json格式,并提交到后台处理

    var params = $("#myform").serializeArray(); var values = {}; for (var item in params) { va ...

  5. AXIS 调用 webservice服务时传递 服务器验证需要的用户名密码

    System.setProperty("javax.net.ssl.trustStore", T.class.getResource(".").getPath( ...

  6. .Net 中的反射(序章) - Part.1

    引言 反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助. 反射是一个庞大的话题,牵扯到的知识 ...

  7. ImageView的常用属性

    ImageView的一些常用属性,并且这些属性都有与之对应的getter.setter方法: android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片 ...

  8. 深入理解javascript原型和闭包(1)——一切都是对象

    “一切都是对象”这句话的重点在于如何去理解“对象”这个概念. ——当然,也不是所有的都是对象,值类型就不是对象. 首先咱们还是先看看javascript中一个常用的函数——typeof().typeo ...

  9. JavaScript 冒泡排序和选择排序

    var array = [1,2,3,4,5]; // ---> 服务 //效率 ---> 针对一个有序的数组 效率最高 //标志 true false for(var j = 0; j ...

  10. (四)SQL Server分区管理

    一.拆分分区(SPLIT) 在已有分区上添加一个新分区. 如下图所示,将分区03拆分成03和04分区,拆分方式先锁定旧03分区的所有数据,后将旧03分区相关数据迁移到分区04,最后删除旧03上的对应分 ...