这个问题,本人有两种解决方案。需要注意。第一种方案较为简单,不用编译 Qt 中文库,直接安装使用 ubuntu 默认的输入法,IBus 框架的中文输入法,具体自行百度,想使用此法,推荐最好在安装 ubuntu 系统时安装中文版的系统;第二种方案较为复杂,需要编译 Qt 使用 fcitx 框架的输入法(例如搜狗输入法)的库文件。比较:第一种方案,使用的输入法体验较差,好处是不用编译库文件,Qt 自带库文件;第二种方案,使用的是搜狗输入法,相信体验效果大家应该深有体会,缺点是需要编译库文件。
详细介绍第二种方案:
第 1 步 安装搜狗输入法:自行百度;
第 2 步 编译 Qt 使用 fcitx 框架的中文输入法的库文件:
a、准备阶段,安装依赖库,下载相应的源码文件:
(1)安装依赖库:打开终端,执行命令“sudo apt-get install fcitx-libs-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-dev bison”;
(2)下载需要用到的源码包以及相应的下载地址:包括fcitx-qt5 源码、extra-cmake-modules_1.4.0.orig.tar.xz 源码包、libxkbcommon-0.5.0.tar.xz 源码包、cmake-3.2.2.tar.gz源码包;
附属:文件下载链接地址:
(百度网盘): https://pan.baidu.com/s/1JCltqtSgHW667CKD1Ztthw 密码:z23v
b、开始编译库文件:
(1)重装 cmake,安装编译 cmake-3.2.2(原因:原装camke 版本 2.8.12 太低,cmake 会不通过):
第一步:执行命令“sudo apt-get install buildessential”;
第二步:卸载旧版本 cmake:sudo apt-getautoremove cmake;
第三步:安装 cmake3.2.2:
1、解压 cmake-3.2.2.tar.gz 源码包;
2、cd cmake3.2.2
3、./configure --prefix=/usr
4、make
5、sudo make install
6、查看 cmake 版本号是否为 3.2.2:cmake --version
(2)安装 extra-cmake-modules_1.4.0.orig.tar.xz 源码:
第一步:解压源码的压缩包,使用终端进入解压的文件夹目录;
第二步:依次分别执行以下命令:
1、cmake .
2、make
3、sudo make install
(3)安装 libxkbcommon-0.5.0.tar.xz 源码(其实已经安装了,只是原版本是 0.4.0 太低,需要安装版本 0.5.0):
第一步:解压源码的压缩包,使用终端进入解压的文件夹目录;
第二步:依次执行以下命令:
1、./configure -prefix=/usr -libdir=/usr/lib/x86_64-linux-gnu -disable-x11
2、make
3、sudo make install
(4)开始编译 fcitx-qt5 的源码:
第一步:设置 Qt 的环境变量:在终端执行命令(以我的路径为准,自行修改):
export PATH="/你的目录/Qt5.6.0/5.6/gcc_64/bin":$PATH
第二步:编译(执行以下命令):
1、cd fcitx-qt5
2、mkdir release
3、cd release
4、cmake ..
5、make
6、sudo make install
7、使用 cp 命令将编译好的库文件libfcitxplatforminputcontextplugin.so (位置在:/[你的目录]/fcitx-qt5/release/platforminputcontext),分别复制到目录:“ /[你的目录]/Qt5.6.0/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts “ 以及目录 :“ /[你的目录]/Qt5.6.0/5.6/gcc_64/plugins/platforminputcontexts “
8、配置环境变量:使用 vim 或者 gedit 命令修改~/.profile 文件,在文件末尾添加以下内容:
GTK_IM_MODULE=fcitx
export XIM_PROGRAM=fcitx
export XIM=fcitx
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
9、重启电脑
第三步:错误解决:
1、根据(1)、(2)、(3)操作步骤,一般网上出现的大部分问题都能解决;不过,对我个人而言,可能由于电脑配置问题,在 make 的时候,出现了一个问题,如下:make 错误:error:‘typeof’ was not declared in this scope HASH_SORT......
2、解决方案:找到 filelistmodel.cpp 文件,位置在:/你的目录/fcitx-qt5/quickphrase-editor,打开文件,找到 loadFileList()函数,将此函数的函数体全部注释掉,然后重新执行 make 操作。如图所示: