(linux)qt应用程序无法输入中文
1.问题linux 环境下,qt应用程序文本输入控件如QLineEdit,无法切换中文输入法来输入中文;2. 原因qt应用程序没成功加载到输入法插件。linux有两种输入法框架:fictx和ibus,对应的插件:libfcitxplatforminputcontextplugin.so和libibusplatforminputcontextplugin.so;可使用: lsof -p pid 确认
1.问题
linux 环境下,qt应用程序文本输入控件如QLineEdit,无法切换中文输入法来输入中文;
2. 原因
qt应用程序没成功加载到输入法插件。linux有两种输入法框架:fictx和ibus,对应的插件:
libfcitxplatforminputcontextplugin.so和libibusplatforminputcontextplugin.so;
可使用: lsof -p pid 确认应用程序是否已加载对应的so:
3.解决
1)将系统目录下插件文件拷贝到qt应用程序运行目录下对应插件目录,如:
系统目录: /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
注: /usr/lib/x86_64-linux-gnu 根据架构名字不一样
qt应用程序安装目录或运行目录(如果是应用程序带上qt库): ${PATH}/Qt512/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
注:${PATH}/Qt512 是代指qt的目录
2)给插件以执行权限,如:
chmod +x libfcitxplatforminputcontextplugin.so
3)如果是应用程序带上qt库, 运行时需设置环境变量的,则需设置一下
export QT_QPA_PLATFORM_PLUGIN_PATH=${PATH}/Qt512/plugins/
4)重启qt应用程序。
更多推荐
所有评论(0)