最全解決Qt5無法輸入中文的問題

2021-08-19 06:30:46 字數 3827 閱讀 7453

qt5.3及以前的版本:

qt creator外掛程式目錄:qt安裝目錄/tools/qtcreator/lib/qt/plugins/platforminputcontexts

。需要的fcitx輸入法外掛程式檔案:libfcitxplatforminputcontextplugin.so

解決方法:

使用dpkg查詢外掛程式檔案,fcitx在fcitx-frontend-qt5中,沒有就用apt安裝即可。

$ dpkg -l fcitx-frontend-qt5 | grep .so

/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so

然後複製這個檔案到qt creator目錄:

$ cd qt安裝目錄/tools/qtcreator/lib/qt/plugins/platforminputcontexts/

$ cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so .

$ chmod +x libfcitxplatforminputcontextplugin.so

然後重啟qt creator即可輸入中文。

編譯程式後程式無法輸入中文問題,也是缺少外掛程式的原因。

$ cd qt安裝目錄/5.8/gcc_64/plugins/platforminputcontexts

$ cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so .

$ chmod +x libfcitxplatforminputcontextplugin.so

然後重新編譯即可。

qt5.3以上的版本:

qt5.4以及qt5.5,舊辦法失效,原因是qt5.4後對之前qt5版本不再二進位制相容,libfcitxplatforminputcontextplugin.so 需要編譯最新的fcitx-qt5。

編譯fcitx-qt需要cmake,安裝cmake命令,如果已經安裝,請略過。

sudo apt-get install cmake
sudo apt-get install fcitx-libs-dev
export path="/home/lieefu/qt5.9.0/5.9/gcc_64/bin":$path

git clone [email protected]:fcitx/fcitx-qt5.git
cd fcitx-qt5

cmake .

make

sudo make install

最後把編譯得到 

libfcitxplatforminputcontextplugin.so 拷貝到 qt5.5安裝目錄的 tools/qtcreator/bin/plugins/platforminputcontexts

qt5.6的目錄是 tools/qtcreator/lib/qt/plugins/platforminputcontexts

大功告成!

cmake error at cmakelists.txt:8 (find_package):

could not find a package configuration file provided by "ecm" (requested

version 1.4.0) with any of the following names:

ecmconfig.cmake

ecm-config.cmake

add the installation prefix of "ecm" to cmake_prefix_path or set "ecm_dir"

to a directory containing one of the above files.  if "ecm" provides a

separate development package or sdk, be sure it has been installed.

-- configuring incomplete, errors occurred!

遇到上述錯誤處裡方法:

extra-cmake-modules_5.18.0.orig.tar.xz

解壓後:

cd

extra-cmake-modules-1

.4.0

cmake .

make

sudo

make

install

cmake error at /home/lieefu/qt5.5.0/5.5/gcc_64/lib/cmake/qt5gui/qt5guiconfigextras.cmake:9 (message):

failed to find "gl/gl.h" in "/usr/include/libdrm".

處裡方法:

sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
-- found pkgconfig: /usr/bin/pkg-config (found version "0.26") 

-- could not find xkbcommon_xkbcommon (missing:  xkbcommon_xkbcommon_library xkbcommon_xkbcommon_include_dir) 

cmake error at /usr/share/cmake-2.8/modules/findpackagehandlestandardargs.cmake:108 (message):

could not find xkbcommon (missing: xkbcommon_libraries xkbcommon) (required

is at least version "0.5.0")

處裡方法:

ubuntu 16.04中可以執行 sudo apt install libxkbcommon-dev 安裝

sudo make install編譯libxkbcommon用到yacc,如果沒有這個命令,會遇到下面的錯誤,yacc在 bison軟體包中

sudo apt-get install bison
yacc     src/xkbcomp/parser.c

./build-aux/ylwrap: line 176: yacc: command not found

make: *** [src/xkbcomp/parser.c] error 127

QT 5無法中文輸入法輸入問題的解決

參考了這兩個。在網上看了很多帖子,那種直接從fcitx裡複製來的在高版本已經沒有辦法用了,必須自己編譯乙個新的出來。中間走了非常非常多彎路,包括還把fcitx搞崩潰了只好解除安裝。這個方法,不用將fctix設為當前輸入框架,僅需要那個檔案。編譯步驟 1 apt get install cmake 2...

QT5解決中文亂碼

首先,我們需要有的概念是亂碼的問題是由編碼和解碼方式引起的。涉及到編碼方式的地方有3個 原始碼字符集 執行字符集 執行環境字符集原始碼字符集 the source character set 原始碼檔案時使用何種編碼格式儲存的。執行字符集 the execution character 可執行程式內...

qt5不能輸入中文問題

qt安裝過程 sudo apt get install g sudo apt get install qt4 designer qt4 qtconfig qt4 dev tools qt4 demos qt4 doc sudo apt get install qtcreator qt會根據系統的不同...