解决Qt5应用在麒麟Linux下不能输入中文问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Shado_walker/article/details/58636752

    解决Qt5在麒麟Linux下不能输入中文的问题,需要了解fcitx并安装fcitx的插件库到应用程序中并启动fcitx,Fcitx是 (Free Chinese Input Toy for X) 的英文缩写,中文名为小企鹅输入法,是一个以 GPL 方式发布的输入法框架, 编写它的目是为桌面环境提供一个灵活的输入方案,彻底解决在GNU/Linux下没有一个好的中文输入法的问题。

用Qt编写的应用程序,在Linux系统上回出现切换不到中文输入的情况,解决Linux下不能输入中文的方法如下:

1. 在GitHub上个下载fcitx插件源码,地址如下:https://github.com/fcitx/fcitx-qt5

    下载fcitx输入法框架的源码到本地,且本地必须安装了cmake才能进行后续的编译输出。

2. 修改根目录文件 CMakeLists.txt, 在"set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)"行之后加入:

set(Qt5Core_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5Core/)

set(Qt5Gui_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5Gui/)

set(Qt5Widgets_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5Widgets/)

set(Qt5DBus_DIR /XXX/Qt5.5.1/5.5/gcc_64/lib/cmake/Qt5DBus/)

3. 编译源码:

cmake .

扫描二维码关注公众号,回复: 3778069 查看本文章

make

sudo make install

    主要是想得到通过源码编译到的libfcitxplatforminputcontextplugin.so库。考虑到有些机器可能安装的环境不全,导致编译输出库受阻,特将我自己编译的Linux动态库libfcitxplatforminputcontextplugin.so以及详细的处理步骤整理上传至CSDN,地址如下:

http://download.csdn.net/download/shado_walker/9766621】。

 4. 把编译得到 libfcitxplatforminputcontextplugin.so 拷贝到 Qt5.5安装目录的 

/XXX/Qt5.5.1/5.5/gcc_64/plugins/platforminputcontexts/

/XXX/Qt5.5.1/Tools/QtCreator/bin/plugins/platforminputcontexts/

下(拷贝之后记得加 755 权限) 。

/***********************************位置注解**********************************/

(1) /XXX/Qt5.5.1/5.5/gcc_64/plugins/platforminputcontexts/ 这个目录是用qt creator编译出的程序运行时调用插件的目录,在编译出的程序下新建

plugins/platforminputcontexts/ 目录,再将libfcitxplatforminputcontextplugin.so放进去也是可以的。

(2) /XXX/Qt5.5.1/Tools/QtCreator/bin/plugins/platforminputcontexts/ 这个目录是qt creator自己调用插件的目录,所以要想在qt creator中输入中文,libfcitxplatforminputcontextplugin.so库在这里也要放一个。

/*******************************************************************************/

5. 如果是用Qt编译的应用程序包,可将编译好的libfcitxplatforminputcontextplugin.so库直接放到plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so位置,然后重启机器,应该就可以输入中文了。

6. 如果以上五部正确执行后,还是不能输入中文,则在 ~/.profile 或 /etc/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"

然后注销重启机器,这样就解决了不能输入中文的问题了。


通过以上六部,基本就可以实现在麒麟Linux系统中不能输入中文的问题了。

猜你喜欢

转载自blog.csdn.net/Shado_walker/article/details/58636752