ubuntu Qt Creator不能輸入中文
解決方式為下面的腳本,如果你的Qt是安裝在根目錄下,那么需要加sudo,如果不是,直接運行即可
sudo bash ChineseInputForQt-v1.1.sh# 或者bash ChineseInputForQt-v1.1.sh
腳本內容為:
#! /bin/bash
#------------------------------------------------------------------------------
# Filename: chineseForQt.sh
# Usage: ./chineseForQt.sh
# Version: 1.0
# Date: 2017-45-04
# Author: vincent
# Email: N/A
# Description: N/A
# Notes: N/A
# 解決Qt中不能輸入中文的問題
# 支持ubuntu 16.04,ubuntu 18.04,linux mint
#-------------------------------------------------------------------------------
# 查找Qt的安裝目錄installPath=$(ls /usr/share/applications/ | grep -x "DigiaQt-qtcreator-community.desktop" )ExecStr=""if [ -z "$installPath" ]
theninstallPath=$(ls /usr/share/applications/ | grep -x "DigiaQt-qtcreator-enterprise.desktop")if [ -z "$installPath" ]theninstallPath=$(ls /usr/share/ubuntu/applications/ | grep -x "DigiaQt-qtcreator-enterprise.desktop")if [ -z "$installPath" ]thenecho "Qt Creator is not installed !!!"exit 1elseExecStr=$(grep Exec /usr/share/ubuntu/applications/$installPath)fielseExecStr=$(grep Exec /usr/share/applications/$installPath)fi
fiExecStr=$(echo ${ExecStr#*=})
ExecStr=$(echo ${ExecStr%/Tools*})
installPath=$ExecStrdeclare USER=$(who | awk '{print $1}')
declare QT_VERSION=$(echo ${installPath#*Qt})folderName=$(echo -e "${QT_VERSION%.*}") # 去除數字 如5.9.0去除 .0folderArray=($(ls $installPath))for(( i=0; i < ${#folderArray[@]}; i++ ))
doif [[ ${folderArray[$i]} == $folderName* ]]thenfolderName=${folderArray[$i]}breakfi
donedeclare libName="libfcitxplatforminputcontextplugin.so"
declare sourceFilePath="/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/$libName"
declare destFolderPath="$installPath/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts/"
declare dstFolderAnotherPath="$installPath/$folderName/gcc_64/plugins/platforminputcontexts/"outputMsg()
{if [ $1 -ne 0 ]thenecho "unsuccessful !!"exit 1fi
}#sudo -s
sudo apt-get install -y fcitx-libs-qt5 > /dev/nullsudo cp $sourceFilePath $destFolderPath
outputMsg $?
sudo chown $USER:$USER ${destFolderPath}$libName
outputMsg $?
chmod 777 ${destFolderPath}$libName
outputMsg $?sudo cp $sourceFilePath $dstFolderAnotherPath
outputMsg $?
sudo chown $USER:$USER ${dstFolderAnotherPath}$libName
outputMsg $?
chmod 777 ${dstFolderAnotherPath}$libName
outputMsg $?echo "Successful! You can do it!"