问题
在Linux环境下,用Qt编写的程序运行时不能在诸如输入框、文本框中输入中文(不会激活中文输入法)。
注意与输入法类型有关(基于iBus或Fcitx)
原因
Qt程序的中文输入支持需要用Qt插件,Qt自带的插件中,支持iBus输入法,所以如果你恰好在用iBus输入法则可以正常输入。
如果要支持Fcitx输入法,需要插件支持。
解决方法
由Qt开发的软件界面不能输入中文
安装fcitx-libs-qt或fcitx-libs-qt5,在计算机中搜索libfcitxplatforminputcontextplugin.so文件,例如在我的计算机上,此文件位于
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
找到Qt的安装目录,将上述文件复制到安装目录下的
plugins/platforminputcontexts
子目录下。例如我的电脑上是
[Qt安装目录]/5.7/gcc_64/plugins/platforminputcontexts
重新运行程序即可。
QtCreator本身的编辑器不能输入中文
如果是QtCreator本身编辑器不能输入中文,则将上述文件拷贝至Qt安装目录的:
[Qt安装目录]/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
或者
[Qt安装目录]/Tools/QtCreator/bin/plugins/platforminputcontexts
此处说明,本人电脑使用的deppin 20社区版,上述的路径为
“[Qt安装目录]/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts”
这一条路径,但是参考网上那个的方法,第二种也有可能,所以根据自己不同版本的qt可能该路径会有上述两种。对于不同版本的Qt,插件路径可能略有不同,但一定是在
[Qt安装目录]/Tools/QtCreator/
这一条安装目录
中,可以自己搜索一下。拷贝完成后,重新启动QtCreator即可生效。
本博客参考星夜之夏的https://www.cnblogs.com/xia-weiwen/p/6857237.html,尊重原著者版权,在此注明参考链接并感谢该博主!