qt无法输入中文的两种解决办法

时间:2024-04-05 22:46:20

以下都是针对5.6版本以后qt中文输入问题写的。

方案一:

0.关闭qtcreator

1.sudo apt-get install fcitx-frontend-qt5

sudo apt-get install libfcitx-libs-qt5_1

2.在系统输入法设置那里,选择fcitx,并设置为全局有效。

qt无法输入中文的两种解决办法

在终端执行export|egrep "IM|XMODIFIERS"命令:

#export|egrep "IM|XMODIFIERS"

应该显示下面的配置:

declare -x CLUTTER_IM_MODULE="xim"

declare -x GTK_IM_MODULE="fcitx"

declare -x IM_CONFIG_PHASE="2"

declare -x LC_TIME="zh_CN.UTF-8"

declare -x QT4_IM_MODULE="fcitx"

declare -x QT_IM_MODULE="fcitx"

declare -x XDG_RUNTIME_DIR="/run/user/1000"

declare -x XMODIFIERS="@im=fcitx"

如果不是手动把下面的设置添加到~/.bashrc或/etc/profile文件中:

export CLUTTER_IM_MODULE="xim"

export GTK_IM_MODULE="fcitx"

export IM_CONFIG_PHASE="2"

export LC_TIME="zh_CN.UTF-8"

export QT4_IM_MODULE="fcitx"

export QT_IM_MODULE="fcitx"

export XDG_RUNTIME_DIR="/run/user/1000"

export XMODIFIERS="@im=fcitx"

Source ~/.bashrc 或 source /etc/profile

3.找到这个动态库/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

如果不见有,就用这个命令sudo find /usr/ -name libfcitxplatforminputcontextplugin.so搜索。

4.把找到的libfcitxplatforminputcontextplugin.so 授权:sudo chmod +x libfcitxplatforminputcontextplugin.so 

并分别复制到这两个目录下:

Root(我的qt根目录)/Qt5.12.0/5.12.0/gcc_64/plugins/platforminputcontexts/

Root(我的qt根目录)/Qt5.12.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/

不是下面这个目录:

Root(我的qt根目录)/Qt5.12.0/Tools/QtCreator/bin/plugins/platforminputcontexts(qt5.6以前是这个目录)

5.打开qtcreator看看,应该可以了。

 

如过以上还不能解决。那就只有两种可能:

/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so相对你的qt版本来说太旧了,如果是这样,那就安装一个最新的fcitx。

如果最新的fcitx还不行,那就只能自己用自己的qt环境编译一个fcitx了。

 

方案二:

sudo apt-get install fcitx-libs-dev

$ export PATH="Root(我的qt根目录)/Qt5.12.0/5.12.0/gcc_64/bin":$PATH

$ git clone [email protected]:fcitx/fcitx-qt5.git

cd fcitx-qt5

mkdir build && cd build

cmake ..

Make

编译过程可能出现缺少依赖项的问题,下载相关库,安装继续。

把编译得的libfcitxplatforminputcontextplugin.so 授权:sudo chmod +x libfcitxplatforminputcontextplugin.so 

并分别复制到这两个目录下:

Root(我的qt根目录)/Qt5.12.0/5.12.0/gcc_64/plugins/platforminputcontexts/

Root(我的qt根目录)/Qt5.12.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/