Linux系统下Qt Creator不能输入中文的解决方法

问题

在Linux环境(例如Ubuntu)下,Qt Creator中不能在诸如输入框、文本框中输入中文(不会激活中文输入法)。注意与输入法类型有关(基于iBus或Fcitx)。

原因

Qt程序的中文输入支持需要用Qt插件,Qt自带的插件中,支持iBus输入法,所以如果你恰好在用iBus输入法则可以正常输入。如果要支持Fcitx输入法,需要插件支持(libfcitxplatforminputcontextplugin.so)。

获取动态库

  • 查找本机libfcitxplatforminputcontextplugin.so文件位置(如果找不到参考步骤:编译动态库)
[root@Kylin-Server-SP2 ~]# find / -name "libfcitxplatforminputcontextplugin.so"
/usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
[root@Kylin-Server-SP2 ~]# 

复制libfcitxplatforminputcontextplugin.so文件到本机Qt安装路径下的这两个位置
​ Qt5.X.X/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/(qtCreater里输入中文)​ Qt5.X.X/5.X.X/gcc_64/plugins/platforminputcontexts/(生成的程序里输入中文)

编译动态库

libfcitxplatforminputcontextplugin.so

配置环境

export PATH="~/目录/Qt/6.x.x/gcc_64/bin":$PATH

export PATH="~/目录/Qt/Tools/Cmake/bin":$PATH

“目录”->自己的安装QT目录

“6.x.x”->自己的版本

配置环境的目地是为了可以使用cmake、qmake命令

安装一堆依赖

sudo apt install git

sudo apt-get install cmake

sudo apt install fcitx-libs-dev

sudo apt install extra-cmake-modules

sudo apt install libxkbcommon-dev

sudo apt install qt6-remoteobjects-dev

sudo apt-get install bisonsudo apt-get install libgl1-mesa-dev libglu1-mesa-dev

安装Git,获取fcitx-qt5源码

sudo apt install git

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

编译项目

QT6

QT6版本修改make任务,切换到qt6(qt5不需要这一步骤)

①.手动进入源码目录   cd fcitx-qt5/

②.打开CMakeLists.txt文件 vi CMakeLists.txt

③.option(ENABLE_QT5 "Enable Qt5" On)改成option(ENAcmake_QT5 "Enable Qt5" Off)

④.option(ENABLE_QT6 "Enable Qt6 im module" Off)改成(ENABLE_QT6 "Enable Qt6 im module" On)

QT5

在控制台,先cd进源码目录

输入以下命令

mkdir build

cd build

cmake ../

make -j8

.编译好的文件叫libfcitxplatforminputcontextplugin-qt6.so

存放在fcitx-qt5/build/qt6/platforminputcontext/

.将编译好的文件复制到以下目录

~/目录/Qt/6.x.x/gcc_64/plugins/platforminputcontexts/

~/目录/Qt/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

“目录”->自己的安装目录“6.x.x”->自己的版本

结尾

重启Qt就可以输入中文了。

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值