V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lonisletend
V2EX  ›  Linux

QtCreator 不能使用 fcitx 输入法

  •  
  •   lonisletend · 2018-11-14 21:23:09 +08:00 · 4466 次点击
    这是一个创建于 2206 天前的主题,其中的信息可能已经有所发展或是发生改变。
    环境: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 的有关问题好多都是比较早的了,最近的方法也都差不多,对我都不起作用,所以来这儿问一下各位老哥有没有人遇到解决过这个问题,或者还有什么其他可能的思路,先谢过!
    8 条回复    2020-02-27 14:50:28 +08:00
    lonisletend
        1
    lonisletend  
    OP
       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
        2
    vx2018  
       2018-11-15 09:25:30 +08:00   ❤️ 1
    恭喜你, 学(zi)会(wen)抢(zi)答了
    iridescent0rsy
        3
    iridescent0rsy  
       2018-11-15 11:06:16 +08:00   ❤️ 1
    老哥厉害了!
    我用的 deepin,从软件源安装 qt 就能用输入法,官网下载安装器就不能用,以为是什么 bug...
    照你方法也能用上输入法了,感谢!
    lonisletend
        4
    lonisletend  
    OP
       2018-11-15 18:18:03 +08:00 via Android
    @vx2018 @iridescent0rsy 所以有时候遇到问题,想办法把问题屡清楚,不仅别人能准确定位,自己没准儿也能突然看出一些端倪。😂
    liuxu
        6
    liuxu  
       2018-11-15 19:38:51 +08:00
    @liuxu 不过我当时的系统是 ubuntu16.04
    xflcx1991
        7
    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
        8
    xflcx1991  
       2020-02-27 14:50:28 +08:00
    还是 @iridescent0rsy 方法好,还原环境,用 deepin 的应用商店安装的 qtcreator 就能直接输入中文,目录环境和 qt 官网的 qtcreator 也不一样。
    为了省事还是用 deepin 的 qtcreator 算了,省事。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1215 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:38 · PVG 02:38 · LAX 10:38 · JFK 13:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.