1. 问题背景介绍
在银河麒麟V10 SP2的系统上安装QT5.12.12后,使用过程中发现在QT Creater和QT开发的程序中无法输入中文,但是在系统其他地方是可以正常使用中文的。
2. 解决方法
方法一:拷贝fcitx相关库。此方法操作简单但本人尝试后未成功。
- 查找本机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
Qt5.X.X/5.X.X/gcc_64/plugins/platforminputcontexts
# cp /usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.12/5.12.12/gcc_64/plugins/platforminputcontexts/
# cp /usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.12/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
注
- 方法一参考 https://www.cnblogs.com/xia-weiwen/p/6857237.html 。
方法二:源码编译编fcitx相关库
# 下载fcitx-qt5源码
$ git clone http://github.com/fcitx/fcitx-qt5.git
# 进入到fcitx-qt5文件夹
$ cd fcitx-qt5
# 切换到1.1.1分支
$ git checkout 1.1.1
# 在该文件夹下配置qmake环境变量
$ export PATH=/opt/Qt5.12.12/5.12.12/gcc_64/bin/:$PATH
# 编译
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
# 编译成功后会在build/platforminputcontext/文件夹下生成libfcitxplatforminputcontextplugin.so文件
# 最后把这个文件,复制到Qt安装路径下的这两个位置
# Qt5.X.X/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
# Qt5.X.X/5.X.X/gcc_64/plugins/platforminputcontexts
$ cp ./platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.12/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
$ cp ./platforminputcontext/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.12/5.12.12/gcc_64/plugins/platforminputcontexts/
注:
- 方法二参考 https://blog.csdn.net/m0_43404560/article/details/98053433 。
- QT安装路径不同机器可能不一样,一般默认的应在/opt/目录下。安装路径不一样,对应上面的命令要相应修改。
- 切换fcitx-qt5源码分支到1.1.1是QT5.12.12成功编译的最高版本,如果其他版本QT编译过程中报错,可以尝试切换其他分支。参考 https://blog.csdn.net/netyiming/article/details/79171157