在编写Linux的Qt项目时,发现虽然已经在Linux下安装好搜狗输入法了,但是,在QT里面还是无法输入中文,这是为什么呢???因为Qtcreator比较奇葩,你会发现装了搜狗输入法后不能在Qtcreator里输入中文.原因是Qtcreator默认的输入框架是ibus的,我们要把fcitx的插件放到Qtcreator的目录相应插件目录下就行了.
解决方法:
(1)
查找是否安装有fcitx-frontend-qt5,
若输入:
dpkg -L fcitx-frontend-qt5 | grep .so
后出现如下界面,则表示有libfcitxplatforminputcontextplugin.so这个插件:
假如没有,请下载:
sudo apt-get install fcitx-frontend-qt5
正常情况下都有这个插件的.
(2)
将插件libfcitxplatforminputcontextplugin.so在自己的Qt安装目录中:根据第1步的结果知道这个插件的路径在:
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
然后复制这个插件到Qtcreator的安装目录的如下几个文件夹(假如你没改安装路径,那么Qt默认装在/opt下):
/opt/Qt5.11.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
/opt/Qt5.11.1/5.11.1/gcc_64/plugins/platforminputcontexts/
复制的命令也就是(命令有点长):
sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.11.1/5.11.1/gcc_64/plugins/platforminputcontexts/
sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.11.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
上述命令的路径要根据你实际的改
然后还要改插件的执行权限,因为默认复制过去的插件是没有执行权限的:
sudo chmod 777 /opt/Qt5.11.1/5.11.1/gcc_64/plugins/platforminputcontexts/* sudo chmod 777 /opt/Qt5.11.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/*
重启qtcreator.就可以在Qtcreator里输入中文啦:
这里要注意,并不是所有的Ubuntu版本都能成功.
有些Ubuntu版本不成功,也是正常的…
谢谢查阅哦~