一、问题描述
测试软件在运行时无法通过键盘快捷键切换中文输入法,主要原因为qt应用程序没成功加载到输入法插件。
本文的以测试程序demo为例,进行过程展示,demo名字为“test-chinese-lineedit”。
原本环境(自带输入法)执行测试程序demo时,无法用键盘快捷键【ctrl+spec】切换成中文输入法,见下图。
注:
运行demo可执行程序步骤:进入demo文件夹中,打开终端,输入./test-chinese-lineedit
。
二、解决思路
- 安装【搜狗拼音输入法】;
- 将系统下语言支持库插件【libfcitxplatforminputcontextplugin.so】复制到qt程序运行目录下对应插件目录;
三、步骤描述
-
前提:搜狗输入法安装包,博主下载版本为:【sogoupinyin_4.0.1.2800_x86_64.deb】
搜狗输入法deb包下载地址:
https://shurufa.sogou.com/linux
-
安装搜狗输入法
1)下载搜狗输入法deb包后,在此路径执行sudo dpkg -i +包名
,执行命令后会提示输入密码。第一次安装搜狗输入法时,会有错误提示,见下图。包【fcitx-ui-qimpanel】与搜狗安装包有冲突,需要将【fcitx-ui-qimpanel】卸载后再次安装搜狗输入法。
2)卸载包【fcitx-ui-qimpanel】。在终端执行sudo apt-get remove fcitx-ui-qimpanel
,执行后会再次确认是否继续执行,输入【y】即可继续执行,见下图。
卸载完成,见下图。
3)再次安装搜狗拼音安装包,终端执行命令sudo dpkg -i +搜狗拼音包名
,此时无报错,安装成功,见下图。
注:安装后需重启系统,可在终端使用reboot
命令重启。重启后可以在右上角菜单栏看到搜狗输入法的界面,证明搜狗输入法安装成功,见下图。
-
将系统下语言支持库插件复制到qt程序运行目录下对应插件目录,步骤为:
1)打开终端用超级用户执行命令:
sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/Qt5.12.10/5.12.10/gcc_64/plugins/platforminputcontexts/
见下图。
此步骤为了让qt应用程序加载输入法插件。Linux有两种插件:fictx和ibus,分别对应库【libfcitxplatforminputcontextplugin.so】和库【libibusplatforminputcontextplugin.so】,搜狗输入法使用的是前者。
2)进入运行目录下,给插件执行权限。终端执行cd /opt/Qt5.12.10/5.12.10/gcc_64/plugins/platforminputcontexts/
进入运行目录;
再执行sudo chmod +x libfcitxplatforminputcontextplugin.so
即可。
-
至此,搜狗输入法已配置完成。
用普通用户执行demo,(步骤为:进入demo文件夹输入./ test-chinese-lineedit
,见下图。
此时可以使用【ctrl+spec】切换中文输入法并输入中文,见下图。
参考:
https://blog.csdn.net/yjianlu/article/details/121043286
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)