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. TDD具体实施过程,可以看作两个层次

    在代码层次,在编码之前写测试脚本,可以称为单元测试驱动开发(Unit Test Driven Development,UTDD) 在业务层次,在需求分析时就确定需求(如用户故事)的验收标准,即验收测试 ...

  2. easyMock本地化搭建

    为了更快捷的定义接口且mock接口数据,减轻前后端对接时的工作量,可以使用easyMock平台. 1. 使用 git clone 下载easy-mock项目 https://github.com/ea ...

  3. centos gcc编译

    centos上面的gcc是4.x的,因为我们使用了c++17,所以想升级成最新的gcc 1. 下载源码 https://gcc.gnu.org/index.html 2. 下载下来是.tar.xz,因 ...

  4. 【操作系统之九】Linux常用命令之netstat

    一.概念netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP ...

  5. mysql 基本操作 一

    1.mysql 管理语句 1)展示数据库列表 mysql> show databases; +--------------------+ | Database | +-------------- ...

  6. [转帖]中国首颗通信能力达10Gbps的低轨宽带卫星出厂

    中国首颗通信能力达10Gbps的低轨宽带卫星出厂 From 新浪科技 原来卫星都能够达到10G带宽了 我们公司的工位还TM有百兆的呢. 近日,中国首颗通信能力可达到10Gbps的5G低轨宽带卫星正式出 ...

  7. URL中出现了%E2%80%8E(Zero-Width Space)

    下面两个url地址,看起来是一样的,但是粘贴到记事本里会发现一个多出了很长的空格 url: '/secure​/Dishes/GetList', url: '/secure/Dishes/GetLis ...

  8. RuntimeError: Model class myapp.models.Test doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

    没有添加子应用在settings里面!

  9. ElasticSearch 线程池类型分析之 ExecutorScalingQueue

    ElasticSearch 线程池类型分析之 ExecutorScalingQueue 在ElasticSearch 线程池类型分析之SizeBlockingQueue这篇文章中分析了ES的fixed ...

  10. pytest_全局变量的使用

    这里重新阐述下PageObject设计模式: PageObject设计模式是selenium自动化最成熟,最受欢迎的一种模式,这里用pytest同样适用 这里直接提供代码: 全局变量 conftest ...