Qt程序无法输入中文的问题

问题

在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
对于不同版本的Qt,插件路径可能略有不同,但一定是在[Qt安装目录]/Tools/QtCreator/中,可以自己搜索一下。拷贝完成后,重新启动QtCreator即可生效。

posted @   星夜之夏  阅读(18410)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示