1 本机环境:

  • deepin 15.11
  • Qt 5.11.3
  • fcitx 输入法

2 问题描述

  Qt Creator 和使用 QT 编译的程序运行时均不能使用deepin系统自带的fcitx输入法,且采用传统方法(将 /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 复制到相应路径)无法解决。

3 解决方案

  1. 安装相应的依赖库:

    sudo apt-get install cmake fcitx-libs-dev libgl1-mesa-dev libglu1-mesa-dev libxkbcommon-dev
  2. 设置 Qt 环境变量:
    echo "export PATH=${HOME}/Qt5.10.0/5.10.0/gcc_64/bin:${PATH}" >> ~/.bashrc && source ~/.bashrc

    注意,将上述命令中的紫色字体部分替换为自己实际的 Qt 安装的相应路径(${HOME} 表示用户文件夹)。

  3. 下载 fcitx-qt5 源码:下载地址
  4. 解压并编译安装:
    cd file_path(为fcitx-qt5 解压后的文件夹路径)
    cmake . (报错 Could not find a package configuration file provided by "ECM" 则执行 sudo apt install extra-cmake-modules ,然后再次执行 cmake .)
    make
    sudo make install
  5. 将 fcitx-qt5/platforminputcontext/ 目录下的 libfcitxplatforminputcontextplugin.so 文件复制到Qt安装目录下的 platforminputcontexts 子目录中(安装时如果不改变路径,一般为:/home/用户文件夹/Qt5.11.3/5.11.3/gcc_64/plugins/platforminputcontexts),重新使用Qt编译的程序就能正常使用 fcitx 输入法;

  6. 将 libfcitxplatforminputcontextplugin.so 文件复制QtCreator 安装目录下的 platforminputcontexts 子目录中(安装时如果不改变路径,一般为:/home/用户文件夹/Qt5.11.3/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts),重启QtCreator 就可以正常使用 fcitx 输入法,具体命令如下:

    cd /home/用户文件夹/Qt5.11.3/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/
    sudo cp /(自己的实际路径)/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so .
    sudo chmod libfcitxplatforminputcontextplugin.so cd /home/用户文件夹/Qt5.11.3/5.11.3/gcc_64/plugins/platforminputcontexts
    sudo cp /(自己的实际路径)/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so .
    sudo chmod libfcitxplatforminputcontextplugin.so

    注意,紫色部分均为可能需要更改的地方。

转载于:https://blog.csdn.net/davidhopper/article/details/78299196

Linux下关于Qt无法调用fcitx的中文输入的更多相关文章

  1. linux下的qt串口通信

    1.linux下的qt串口通信跟windows唯一的差别就是端口号的名字,windows下面是COM,而linux是ttyUSB0的路径 2.一般情况下linux插上USB转串口线就可以在/dev/目 ...

  2. linux下对qt编写的程序进行部署

    当我们完成程序设计之后,需要将可执行程序交付客户,而运行环境里面可能是没有相关支持库的,这个时候就涉及到部署的相关问题.对于我们在Linux下基于QT编写的图像处理程序,我们采用linuxdeploy ...

  3. [置顶] Linux下发布QT程序

    Linux下发布QT程序 概述 无论在windows下还是在linux下,可执行程序的运行都依赖于相关的运行库,我们需要将依赖的库找到放到特定的位置,让可执行文件能够找到.在不知道可执行文件依赖哪些库 ...

  4. Linux下编译Qt源码,一定要下载tar.gz版本,否则会报权限不足

    首先下载qt-everywhere-opensource-src-4.8.1源码,下载地址: ftp://ftp.qt-project.org/qt/source/ 在Linux下编译一定要下载qt- ...

  5. linux下安装QT过程

    说QT是linux下主要的图形开发工具一点都不过分,虽然诺基亚公司放弃Meego.遣散了Qt开发团队,但是它的各种商业.企业版本还是的到了很好的保护,linux下的开发工具集里还是经常看到它的身影,毕 ...

  6. LINUX下C语言编程调用函数、链接头文件以及库文件

    LINUX下C语言编程经常需要链接其他函数,而其他函数一般都放在另外.c文件中,或者打包放在一个库文件里面,我需要在main函数中调用这些函数,主要有如下几种方法: 1.当需要调用函数的个数比较少时, ...

  7. linux下执行QT可执行文件报错

    老样子,不多BiBi,直接进入主题! 有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading s ...

  8. Linux下移植QT(2)---移植QT

    准备:ubantu12.04   内核 3.0.8(最好用同样的内核,3.2.0时没成功) 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc-4.4.6 QT版本5.4.2 ...

  9. Linux下C/C++代码调用PHP代码(转)

    Linux下C/C++代码可以通过popen系统函数调用PHP代码并通过fgets函数获取PHP代码echo输出的字符串. //main.c char str[1024] = {0}; char *  ...

随机推荐

  1. 【JZOJ5740】【20190706】幻想世界

    题目 小 $\omega $ 想要进行烟火表演,她一开始有\(n\)颗彗星和\(n\)颗陨石 如果小 \(\omega\) 有\(i\)颗彗星而没有陨石,那么她会消耗\(i\)颗彗星并得到\(a_i\ ...

  2. 深入js系列-类型(开篇)

    思考 作为一个编程人员,你可能从来没仔细思考过,为什么这么多高级语言会有类型这东西. 实际上,类型有点类似生活中的类别,我们日常生活,早已经把这个概念理解到了,切肉和切水果会用不同的刀. 语言级别的类 ...

  3. 在eclipse中新建java问题报错:The type XXX cannot be resolved. It is indirectly referenced from required .class files

    在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误 ...

  4. iptables 常用命令解析

    查看当前iptables规则: iptables -n -L --line-numbers该命令会以列表的形式显示出当前使用的 iptables 规则,并不做解析,每一条规则前面的编号可以用来做为其它 ...

  5. JUC锁框架_AbstractQueuedSynchronizer详细分析

      AQS是JUC锁框架中最重要的类,通过它来实现独占锁和共享锁的.本章是对AbstractQueuedSynchronizer源码的完全解析,分为四个部分介绍: CLH队列即同步队列:储存着所有等待 ...

  6. 重置jenkins用户名密码

    忘记用户名密码(如图)不管是忘记用户名密码还是误删jenkins目录下的users文件都可以使用下面的方式找回密码,我的版本是Jenkins 2.134 1.     进入jenkins安装目录,我的 ...

  7. promise、async和await

    async:async function 声明将定义一个返回 AsyncFunction 对象的异步函数.当调用一个 async 函数时,会返回一个 Promise 对象.当这个 async 函数返回 ...

  8. docker-compose搭建zookeeper集群环境 CodingCode

    docker-compose搭建zookeeper集群环境 使用docker-compose搭建zookeeper集群环境 zookeeper是一个集群环境,用来管理微服务架构下面的配置管理功能. 这 ...

  9. Java8实战及自己的总结

    java8 介绍 java8是2014年3月份,由Oracle发布的一个版本,又称之为jdk1.8,是现再我们在学习和工作中用的最多的一个版本.   在jdk1.8中,java8以添加非常多的新特性, ...

  10. IDEA中pom文件大面积爆红的解决办法

    问题:最近发现项目的POM文件在idea中,从modelVersion开始全部变红,文件图标也不是正常的maven图标. 解决办法:点击idea的File/Invalidate Caches/Rest ...