zoukankan      html  css  js  c++  java
  • Linux下关于Qt无法调用fcitx的中文输入

    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 775 libfcitxplatforminputcontextplugin.so
      
      cd /home/用户文件夹/Qt5.11.3/5.11.3/gcc_64/plugins/platforminputcontexts
      sudo cp /(自己的实际路径)/fcitx-qt5/platforminputcontext/libfcitxplatforminputcontextplugin.so . 
      sudo chmod 775 libfcitxplatforminputcontextplugin.so

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

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

  • 相关阅读:
    CF528D Fuzzy Search
    P3489 付公主的背包
    有标号的DAG计数
    P4609 [FJOI2016]建筑师
    mds/journal.cc: 2929: FAILED assert解决
    Ceph根据Crush位置读取数据
    关于backfill参数建议
    rados put striper功能的调试
    Cephfs的文件存到哪里了
    为什么删除的Ceph对象还能get
  • 原文地址:https://www.cnblogs.com/fox-Benjiaming/p/11738092.html
Copyright © 2011-2022 走看看