连续剧之国人必须要拥有中文输入法。
在Ubuntu20.04下安装完fcitx输入法框架后发现在qtcreator里还是不能切换到中文输入法,后来知道是因为qt中缺少插件。文章搬运工来记录一下实现过程。
1、方法一
Qt creator无法用fcitx输入中文的原因是自己的plugins目录下没有fcitx的插件。
(1)检查qt安装目录下的/plugins/platforminputcontexts/目录下有没有libfcitxplatforminputcontextplugin.so
查找qt的安装目录:
find / -name "qt"
我的目录为/mnt/d/DevelopmentTool/Qt/Qt5.13.2/5.13.2/mingw73_64/plugins/platforminputcontexts/
(2)没有该文件的话,安装一个
sudo apt-get install fcitx-frontend-qt5
安装完成后找到/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
(3)将libfcitxplatforminputcontextplugin.so拷贝到qt的安装目录下
sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /mnt/d/DevelopmentTool/Qt/Qt5.13.2/5.13.2/mingw73_64/plugins/platforminputcontexts/
(4)赋予执行权限
cd /mnt/d/DevelopmentTool/Qt/Qt5.13.2/5.13.2/mingw73_64/plugins/platforminputcontexts/
chomd +x libfcitxplatforminputcontextplugin.so
(5)配置输入法的环境变量。
#编辑命令 vim ~/.bashrc #配置环境内容 export XMODIFIERS=@im=fcitx export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx #生效命令 source ~/.bashrc
参考原文:
Ubuntu下Qt creator无法使用fcitx输入中文之解决办法_libfcitxplatforminputcontextplugin-qt6.so 窗体输入直接退出-CSDN博客
https://www.cnblogs.com/chanyuantiandao/p/16188426.html
2、方法二
下载fcitx-qt5自己编译,生成 libfcitxplatforminputcontextplugin.so
参考博客:https://www.cnblogs.com/brifuture/p/9634219.html
(1)GitHub里下载 fcitx-qt5 源码,并进入相应目录
#安装git工具 sudo apt-get install git
git clone https://github.com/fcitx/fcitx-qt5.git cd fcitx-qt5
(2)安装 cmake,并运行
sudo apt install cmake cmake ./
(3)解决报错问题
报错一:“Could not find a package configuration file provided by "ECM" (requested
version 1.4.0)”wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/extra-cmake-modules/1.4.0-0ubuntu1/extra-cmake-modules_1.4.0.orig.tar.xz tar xvf extra-cmake-modules_1.4.0.orig.tar.xz cd extra-cmake-modules_1.4.0.orig.tar.xz cmake . make sudo make install
报错二:“Could NOT find XKBCommon_XKBCommon (missing: XKBCommon_XKBCommon_LIBRARY XKBCommon_XKBCommon_INCLUDE_DIR) (found version "")”
wget http://xkbcommon.org/download/libxkbcommon-0.5.0.tar.xz tar xf libxkbcommon-0.5.0.tar.xz cd libxkbcommon-0.5.0 ./configure --prefix=/usr --disable-x11 make sudo make install
报错三: 运行第二步的
cmake ./
时有如下错误提示需加一个参数才行,运行
cmake -DENABLE_LIBRARY=false ./
解决报错问题后继续执行第二步。
第二步 cmake 成功完成会出现以下提示
(4)执行命令
make sudo make install
如果成功的话到这一步就编译生成libfcitxplatforminputcontextplugin.so成功了
(5)执行sudo make install命令报错
错误日志
Parse error at "IID"
因为缺少安装qt5私有头文件,安装之后编译通过
sudo apt install qtbase5-private-dev
(6)将生成的libfcitxplatforminputcontextplugin.so拷贝到自己的qt安装目录下——同方法一的第三步。
生成的库文件路径:
我还对源码的顶层 CMakeLists.txt做了修改
重新启动QtCreator以后就能进行输入法中英文切换了。
如果还是使用不了,可以看看是不是环境变量没配置好。祝好运!
重启Ubuntu后打开输入法
参考原文: