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

摘要:
原因似乎是qt支持fcitx。我参考以下两个博客来寻求解决方案:1。解决Qt5Creator无法切换输入法,以及搜狗无法在Ubuntu中输入汉字的问题。2.QT5.6.0无法切换fcitx中文输入法。我的实践有两个解决方案:1。使用ibus。2.要解决fcitx和支持问题,步骤如下:1)安装iBussudapt-getinstallibus-clusteribus-gtkibus-gtk3ibus-qt42)安装拼音输入法sudoapt-getininstallibus-pinyinibus-unpinyin3)设置ibus添加拼音输入法ibus-setup4)在系统设置、语言支持选项中,选择iBus5)注销并重新登录。

环境: 系统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输入中文的问题折腾》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇卸载 ibus 使Ubuntu16.04任务栏与启动器消失 问题解决一次java性能调优总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

收藏的博客 -- Qt有关的GitHub/Gitee开源项目

Q:想请教下Qt5 之后推出的qml与之前qt4的ui 开发方式,有冲突吗?我公司开发桌面程序,是两种方式兼用?还是选择其中一种? A:桌面推荐使用QWidget,触摸式的嵌入式设备推荐使用QML。 https://blog.csdn.net/libaineu2004/article/details/77369837 Qt官网下载/文档 http://d...

win10下QT5打包可执行程序

首先需要将要打包的程序  用 Release  模式运行  生成  build-untitled32-Desktop_Qt_5_10_0_MinGW_32bit-Release 文件     在生成的文件中有一个  release  文件内会生成  应用程序文件, 如下图: 然后创建一个空文件夹  我这边文件名为:set      将上面的应用程序文件复...

Centos7安装搜狗输入法.

系统默认安装输入法管理器的是 ibus. 而搜狗使用 fcitx 1.以我们先要安装 fcitx和必要的软件包 yum -y install fcitx* yum -y install libQtWebKit*    2.接着我们要下载 搜狗输入法 到搜狗官网下载deb版本软件包:https://pinyin.sogou.com/linux/?...

qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用(转)

原则上,两者是不可以同时存在的,但是如果都安装了,该如何分别使用他们呢? Qt4 Visual Studio Add-in:官网可以下载安装程序,qt-vs-addin-1.1.11-opensource.exe Qt5 Visual Studio Add-in:官网可以下载安装程序,qt-vs-addin-1.2.2-opensource.exe 笔者先安...

assimp库如何配置64位(x64)版本带例子sample的解决方案

在github上下载assimp源码之后,可以用cmake进行vs解决方案的构建。但是用cmake gui只能构建32位版本的解决方案,如何利用cmake命令行构建64位版本可以参考该博客。默认情况下assimp的CMakeLists.txt文件ASSIMP_BUILD_SAMPSAMPLES选项是off的,把该选项置为on后就可以添加例子。其中有个assi...

C++ Qt5 SQLite 操作示例

#pragma once #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QSqlRecord> #include <QDebug> #include <QDir> #include...