在Linux环境下,用Qt编写的程序运行时不能在诸如输入框、文本框中输入中文(不会激活中文输入法)。注意与输入法类型有关(基于iBus或Fcitx)
Qt程序的中文输入支持需要用Qt插件,Qt自带的插件中,支持iBus输入法,所以如果你恰好在用iBus输入法则可以正常输入。
如果要支持Fcitx输入法,需要插件支持。
linux下 sudo启动qt程序无法输入中文处理方式,
右键菜单 select IM 两个选项 fcitx、XIM
第一种apt-get安装fcitx包,中文输入法在fcitx模式下输入中文,此种方法需要安装fcitx。
xulei@xulei-PC:/etc/sudoers.d$ apt-cache search fcitx-libs-qt
fcitx-libs-qt - transitional dummy package
fcitx-libs-qt5 - transitional dummy package
fcitx-libs-qt5-dev - Free Chinese Input Toy of X - Devel files for libfcitx-qt5
libfcitx-qt0 - Flexible Input Method Framework - Meta package for Qt library
第二种是配置sudo权限模式,在非fcitx模式下
1.创建 /etc/sudoers_env 加入以下内容
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
QT4_IM_MODULE=xim
2.执行 sudo visudo 加入以下内容
Defaults env_keep += "XMODIFIERS"
Defaults env_file="/etc/sudoers_env"
3.在输入文本框中右击选择输入法,选择XIM模式,切换输入发,可以完成中文输入。