关于Qt creator 无法使用fcitx输入中文的问题折腾
环境: 系统ubuntu16.04amd64,qt5.4.2 安装完qt5.4后,在编写代码时,发现无法输入中文,离开qt creator 就立刻正常。原因似乎是qt对fcitx支持。
解决方法我是参考了下边两个博客做的:
1.解决Qt5 Creator无法切换输入法(fcitx),Ubuntu中不能使用搜狗输入法录入汉字问题
我的实践出两种方法解决: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 默认环境路径配置方法
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输入中文的问题折腾的更多相关文章
- Linux下Qt Creator编辑器无法输入中文解决
Ubuntu安装了搜狗输入法,在浏览器中可以使用,但是在Qt Creator中却无法输入中文. 解决办法: 执行sudo apt-get install fcitx-libs-qt5 该命令将库文件l ...
- [转] Ubuntu安装Fcitx以及Fcitx输入中文不显示候选词框的解决办法
[From] http://blog.csdn.net/qq_21397217/article/details/52447263 1. 安装Fcitx所需组件 $ sudo apt install f ...
- Linux下关于Qt无法调用fcitx的中文输入
1 本机环境: deepin 15.11 Qt 5.11.3 fcitx 输入法 2 问题描述 Qt Creator 和使用 QT 编译的程序运行时均不能使用deepin系统自带的fcitx输入法,且 ...
- 解决qt5在ubuntu下无法调用fcitx输入中文的问题
如题,在以前安装qt5.2.1的时候就遇到了这个问题.当时上网搜了很多资料,结果都解决不了,发现都是复制来复制去. 这次因为要用qt5.3.0在ubuntu下写个程序,所以不解决这个问题不行了.就继续 ...
- qt creator在Qt5中中文显示的问题
当我们用Qt Creater时,经常出会出现如下问题: 处理方法如下:用记事本打开你的源代码,然后点另存为,utf-8,编码覆盖,这时中文就没问题了但是会乱码.在字符串前加个宏QStringLiter ...
- ubuntu16.04~qt 5.8无法输入中文
编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过. sudo apt-get install cmake 安装 fcitx-libs-dev sudo apt-get in ...
- [解决方案] Ubuntu 16.04 下 Qt 5.6 无法输入中文的问题
0. 环境 系统:ubuntu 16.04 LTS 机子:dell xps13 1. 步骤 1.1 编译 fcitx-qt5 源码 编译fcitx-qt需要cmake,安装cmake命令,如果已经安装 ...
- [转]ubuntu16.04~qt 5.8无法输入中文
编译fcitx-qt需要cmake,安装cmake命令,如果已经安装,请略过. sudo apt-get install cmake 安装 fcitx-libs-dev sudo apt-get in ...
- ubuntu下wps无法使用搜狗输入法输入中文
sudo vim /usr/bin/et sudo vim /usr/bin/wps sudo vim /usr/bin/wpp 以上三个文件,都加入如下内容后重新打开文档即可 export XMOD ...
随机推荐
- 为什么print在python3中变成了函数?
转自:http://www.codingpy.com/article/why-print-became-a-function-in-python-3/ 在Python 2中,print是一个语句(st ...
- [转]Eclipse Debug不为人知的秘密
原文地址:http://blog.csdn.net/mgoann/article/details/7239492 Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式.断点 ...
- java-map和object装换
/** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object mapToObject(Map<String ...
- LocalBroadcastManager 的实现原理,Handler还是 Binder?
原文: http://www.trinea.cn/android/localbroadcastmanager-impl/ 对 LocalBroadcastManager 大家应该都不陌生,相对 Bro ...
- 上传AppStore出现:Unexpected CFBundleExecutable Key 错误
解决办法:就是把无用的CFBundle删除掉. 根据提示,找到对应第三方的SDK, 找到第三方的info.plist文件,删除里面的Executable file对应的一整行,包括值.
- fedora22命令useradd,groupadd等命令不能自动补全
sudo ls -l /sbin/useradd 发现登陆账户没有读权限 修改为其他账户为读权限即可
- Codeforces 2016 ACM Amman Collegiate Programming Contest B. The Little Match Girl(贪心)
传送门 Description Using at most 7 matchsticks, you can draw any of the 10 digits as in the following p ...
- Xcode6 管理provisioning profile
profile文件的存放位置为 /Users/用户名/Library/MobileDevice/Provisioning Profiles 更新profile文件后,Code Signing Iden ...
- Android内存优化-内存泄漏的几个场景以及解决方式
转自:http://blog.csdn.net/a910626/article/details/50849760 一.什么是内存泄漏 在Java程序中,如果一个对象没有利用价值了,正常情况下gc是会对 ...
- SQL SERVER批量修改表名前缀
比如前缀由mms_修改为 ets_ exec sp_msforeachtable @command1=' declare @o sysname,@n sysname ...