问题
在Linux环境(例如Ubuntu)下,Qt Creator中不能在诸如输入框、文本框中输入中文(不会激活中文输入法)。注意与输入法类型有关(基于iBus或Fcitx)。
原因
Qt程序的中文输入支持需要用Qt插件,Qt自带的插件中,支持iBus输入法,所以如果你恰好在用iBus输入法则可以正常输入。如果要支持Fcitx输入法,需要插件支持。
解决方法
- 安装
fcitx-frontend-qt5
,命令行里输入sudo apt-get install fcitx-frontend-qt5
- 进入系统设置的语言支持(Language Support),检查中文包安装情况,无则装之。
- 装完之后记得点
“Apply System-Wide”
来应用到系统全局 - 重启系统
- 安装
fcitx-libs-qt
或fcitx-libs-qt5
,在计算机中搜索libfcitxplatforminputcontextplugin.so
文件,例如在我的计算机上,此文件位于/usr/lib/x86_64linuxgnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
,找到Qt的安装目录,将上述文件复制到安装目录下的plugins/platforminputcontexts
子目录下。例如我的电脑上是[Qt安装目录]/5.7/gcc_64/plugins/platforminputcontexts
。如:
cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts
sudo cp libfcitxplatforminputcontextplugin.so /opt/Qt5.12.11/5.12.11/gcc_64/plugins/platforminputcontexts/
- 如果是QtCreator本身编辑器不能输入中文,则将上述文件拷贝至Qt安装目录的
[Qt安装目录]/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
或者[Qt安装目录]/Tools/QtCreator/bin/plugins/platforminputcontexts
。
对于不同版本的Qt,插件路径可能略有不同,但一定是在[Qt安装目录]/Tools/QtCreator/
中,可以自己搜索一下。如下指令。
cd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts
sudo cp libfcitxplatforminputcontextplugin.so /opt/Qt5.12.11/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
拷贝完成后,重新启动QtCreator即可生效。