以下都是针对5.6版本以后qt中文输入问题写的。
方案一:
0.关闭qtcreator
1.sudo apt-get install fcitx-frontend-qt5
sudo apt-get install libfcitx-libs-qt5_1
2.在系统输入法设置那里,选择fcitx,并设置为全局有效。
在终端执行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/