【Python QT】Linux 下程序无法调用 fcitx 的问题

前阵子升级了程序, 并切换了 Python 环境, 今天在给自己的 Linux 桌面开发 QT UI 控件时发现,
无法调起 fcitx 输入法, 之前碰到过这个问题, 不过没记录下来, 今天补上.

对于 Linux 上基于 QT 的程序, 如果无法切换和调起 fcitx 输入法, 那么可以优先检查这些目录:

  • /.../envs/foo/lib/python3.XX/site-packages/PySide6/Qt/plugins/platforminputcontexts/
  • /.../envs/foo/lib/python3.XX/site-packages/PyQt6/Qt/plugins/platforminputcontexts/

检查这些目录中是否有 libcomposeplatforminputcontextplugin.so
libfcitxplatforminputcontextplugin-qt6.so 库文件.

如果没有, 可以从系统的 qt 库中 copy 过来 (比如从 /usr/lib/qt6/plugins/platforminputcontexts/) ,
文件路径跟你的 Linux 发行版和 qt 安装位置有关, 这里用的是 Manjaro Linux.

cp 完成之后, 检查一下是否有 x 权限, 否则需要用 chmod +x 加上.

完成这些后, 开发的 QT 控件可以用 fcitx 输入法打中文了 :