QtCreator 不能使用 fcitx 输入法

2018-11-14 21:23:09 +08:00
 lonisletend
环境:Fedora25 输入法:sogopinyin

Qt 5.11.2 QtCreator 4.7

尝试过的方法:

1. 将`/usr/lib64/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`拷贝到`/usr/local/Qt5.11.2/Tools/QtCreator/bin/plugins/platforminputcontexts/`(不知道为什么原来没有这个目录)和 `/usr/local/Qt5.11.2/5.11.2/gcc_64/plugins/platforminputcontexts/` 下,重启 QtCreator,无效。

2. 下载 fcitx-qt5 编译 1 中的库, 替换, 重启 QtCreator, 无效。

3. 想到可能是环境变量的问题。在`/usr/share/applications/DigiaQt-qtcreator-enterprise.desktop`中看到一条`Exec=/usr/local/Qt5.11.2/Tools/QtCreator/bin/qtcreator`,但是查看发现这个 qtcreator 是个二进制文件, 然后发现同目录下有一个 qtcreator.sh ,执行也可以打开 QtCreator,遂在其中添加

> export XMODIFIERS="@im=fcitx"
> export QT_IM_MODULE="fcitx"

重启 QtCreator, 无效, ./qtcreator.sh 打开 QtCreator, 无效。

4. `/etc/profile`追加

> export XIM_PROGRAM=fcitx
> export XIM=fcitx
> export GTK_IM_MODULE=fcitx
> export QT_IM_MODULE=fcitx
> export XMODIFIERS="@im=fcitx"

重启 QtCreator, 无效,reboot,无效。

在`locate libfcitxplatforminputcontextplugin.so`的时候发现 Foxit Reader 中也有这个库,然后试了一下也不能输入中文(毕竟以前只用来看 pdf,还是找的搜索框测试的)。

Google 的有关问题好多都是比较早的了,最近的方法也都差不多,对我都不起作用,所以来这儿问一下各位老哥有没有人遇到解决过这个问题,或者还有什么其他可能的思路,先谢过!
4497 次点击
所在节点    Linux
8 条回复
lonisletend
2018-11-14 21:25:51 +08:00
刚发了提问一分钟,突然觉得原来那个目录没有可能是个突破口,

Qt 会自带 ibus 的库,所以尝试

`sudo find /usr -name libibusplatforminputcontextplugin.so`

果真发现一条:

`/usr/local/Qt5.11.2/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so`

所以八成正确的目录应该是这个。

进去一看就缺个 fcitx 的库了,把编译好的拷贝进来,重启 QtCreator,终于可以了。

![]( https://i.loli.net/2018/11/14/5bec217737e86.png)
vx2018
2018-11-15 09:25:30 +08:00
恭喜你, 学(zi)会(wen)抢(zi)答了
iridescent0rsy
2018-11-15 11:06:16 +08:00
老哥厉害了!
我用的 deepin,从软件源安装 qt 就能用输入法,官网下载安装器就不能用,以为是什么 bug...
照你方法也能用上输入法了,感谢!
lonisletend
2018-11-15 18:18:03 +08:00
@vx2018 @iridescent0rsy 所以有时候遇到问题,想办法把问题屡清楚,不仅别人能准确定位,自己没准儿也能突然看出一些端倪。😂
liuxu
2018-11-15 19:38:18 +08:00
liuxu
2018-11-15 19:38:51 +08:00
@liuxu 不过我当时的系统是 ubuntu16.04
xflcx1991
2020-02-27 14:25:01 +08:00
感谢楼主尝试,确实是路径不一样。找到后拷贝就行了。
我的是 deepin 15.11,qtcreator 是在 qt 官网下的 qt5.14 自带的(只安装了 IDE ),系统安装的是 qt-default 包。
fcitx 的 so 在 /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts
qtcreator 的相应目录在~/Qt5.14.1/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts
看,qtcreator 自己的目录结构都在变化,linux 世界这点真是蛋疼。
xflcx1991
2020-02-27 14:50:28 +08:00
还是 @iridescent0rsy 方法好,还原环境,用 deepin 的应用商店安装的 qtcreator 就能直接输入中文,目录环境和 qt 官网的 qtcreator 也不一样。
为了省事还是用 deepin 的 qtcreator 算了,省事。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/507909

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX