centos7下Qt5.10无法输入中文

找遍网上各种方法,终于解决了该问题,差点就想把Qt版本退回到Qt5.4以前的了。虽然都是linux系统,但是Ubuntu,和Centos的解决方案不同,Qt的版本不同解决方案也不同。找博客时间比较近的借鉴。

我的系统是Centos7,但是原理差不多,Ubuntu的也可以借鉴下。

有一点要注意的是,先查看自己输入法是ibus的还是fcitx的。后面再对应修改配置文件
这里写图片描述
或者输入echo $QT_IM_MODULE,查看
这里写图片描述
我的是iBus。不是以上两种输入法的,建议去安装或设置为其中一种。

一、Qt5.10下不支持中文输入的原因:

Qt的语言库,缺少支持中文输入的动态链接库。

我的Qt安装在/usr/local/Qt/
Qt Creator 会去以下目录寻找支持:
/usr/local/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts

我们的应用程序会去以下目录寻找支持
/usr/local/Qt/5.10.1/gcc_64/plugins/platforminputcontexts

两个目录都不存在ibus或fcitx的动态链接库
所以我们需要在以上目录添加我们输入法的动态链接库(ibus或fcitx,我的是ibus,无需添加两个)再修改下/etc/profile文件就可以了。

二、解决方案

1、下载ibus,并复制到以上两个目录去。

yum install ibus-qt //安装ibus-qt
rpm -qa|grep ibus-qt    //查找包名,找到包名为 ibus-qt-1.3.2-4.el7.x86_64
rpm -ql ibus-qt-1.3.2-4.el7.x86_64 //查找路径

找到有.so后缀的文件路径 /usr/lib64/qt4/plugins/inputmethods/libqtim-ibus.so 复制到Qt动态链接库的目录去:

cp /usr/lib64/qt4/plugins/inputmethods/libqtim-ibus.so /usr/local/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts

cp /usr/lib64/qt4/plugins/inputmethods/libqtim-ibus.so /usr/local/Qt/5.10.1/gcc_64/plugins/platforminputcontexts

2、修改配置文件 vim /etc/profile
末尾添加以下内容:

export XIM_PROGRAM=iBus
export XIM=iBus
export GTK_IM_MODULE=iBus
export QT_IM_MODULE=iBus
export XMODIFIERS="@im=iBus"

输入法是fcitx的,将iBus替换为fcitx。

至此就可以输入中文了。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Dreamy_LIN/article/details/79589273