日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁 新聞資訊 >> 新聞?lì)^條 >> 解決Qt程序在Linux下無法輸入中文的辦法(與下文連接)
新聞資訊
NEWS INFORMATION

解決Qt程序在Linux下無法輸入中文的辦法(與下文連接)

發(fā)布時(shí)間:2019-05-22

在安裝QT集成開發(fā)工具包之前需要先安裝build-essential和libncurses5-dev這兩個(gè)開發(fā)工具和庫(kù),libncurses5-dev庫(kù)是一個(gè)在Linux/Unix下廣泛應(yīng)用的圖形函數(shù)庫(kù),build-essential里面包括一些Linux下開發(fā)的必要工具。在ubuntu中我們使用QT進(jìn)行開發(fā)也用到了這兩個(gè)工具庫(kù)。安裝命令為:sudo apt-get install build-essential libncurses5-dev。

在這個(gè)庫(kù)安裝完成后就可以安裝QT開發(fā)工具包了,具體安裝步驟如下:

1、下載QT SDK安裝包。

2、在安裝包所在路徑執(zhí)行命令:

sudo chmod u+x qt-sdk-linux-x86-opensource-2010.04

sudo ./ qt-sdk-linux-x86-opensource-2010.04

3、安裝完成后編譯一個(gè)自帶的例子,看是否能夠正常編譯運(yùn)行,如果能夠運(yùn)行則證明已經(jīng)安裝成功。

 

這篇文章引用了較多其他作者的內(nèi)容,也忘記引用的出處了,只能感謝了。以下轉(zhuǎn)入正題。本文轉(zhuǎn)自博客,十分感謝

 

對(duì)于qt5.5,要下載libqt庫(kù)源碼自己編譯,參考解決Qt5 Creator無法切換輸入法(fcitx),Ubuntu中不能使用搜狗輸入法錄入漢字問題

 

Linux下有兩種輸入法,分別是ibus和fcitx,如果喜歡搜狗輸入法的話,需要安裝fcitx.

首先說第一種輸入法ibus.

 

一、ibus

安裝步驟如下:

第一:安裝IBus框架,

sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

啟動(dòng)IBus框架,在終端輸入:

im-switch -s ibus

安裝完IBus框架后注銷系統(tǒng),保證更改立即生效。

注意,這里可能會(huì)出錯(cuò),提示如下:no configuration file “ibus” exists.解決辦法是修改im-switch的配置文件,步驟如下:

$ cd /etc/X11/xinit/xinput.d/ $ sudo cp default ibus $ sudo vim ibus

在Vim中編輯配置項(xiàng):

XIM=ibus XIM_PROGRAM=/usr/bin/ibus-daemon XIM_ARGS="—xim"

 

 

創(chuàng)建好配置文件之后再重新啟動(dòng)im-switch,就可以發(fā)現(xiàn)這回能夠選擇到ibus,而括號(hào)里面的就是我們的配置文件名,通過配置文件將設(shè)置指向了ibus的守護(hù)進(jìn)程ibus-daemon,這樣每次X在啟動(dòng)的時(shí)候就能自動(dòng)關(guān)聯(lián)該輸入法,如下:

 

 

第三步:安裝拼音引擎
 

有下面幾種常用選擇:

IBus拼音:sudo apt-get install ibus-pinyin

IBUS五筆:sudo apt-get install ibus-table-wubi

谷歌拼音輸入法:sudo apt-get install ibus-googlepinyin

Sun拼音輸入法:sudo apt-get install ibus-sunpinyin

第四步:設(shè)置IBus框架  

ibus-setup

設(shè)置IBUS

第五步:環(huán)境變量設(shè)置

通常情況下,IBus圖標(biāo)(一個(gè)小鍵盤)會(huì)出現(xiàn)在桌面右上角的任務(wù)欄中。有時(shí)候這個(gè)圖標(biāo)會(huì)自行消失,可使用以下命令,找回消失的IBus圖標(biāo):

ibus-daemon -drx

 

要啟用輸入法,還需要配置環(huán)境變量,具體如下(IBus支持 XIM 協(xié)議及 Gtk IM 模塊以及 Qt IM 模塊):

export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus

 

要啟用輸入法對(duì)qt的支持,步驟如下:

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

將該文件復(fù)制到

qt安裝目錄/Tools/QtCreator/bin/plugins/platforminputcontexts(作用是使得qtcreator開發(fā)環(huán)境支持輸入法)

qt安裝目錄/5.3/gcc_64/plugins/platforminputcontexts(個(gè)人猜測(cè)是使得用編譯器編譯出來的qt程序也支持輸入法)

如果qt開發(fā)出來的程序不支持輸入法,那么可以在程序所在的目錄創(chuàng)建platforminputcontexts目錄,然后把libibusplatforminputcontextplugin.so拷貝進(jìn)去,發(fā)布的時(shí)候與可執(zhí)行程序一起發(fā)布,如果還是不行,重啟電腦,在重新運(yùn)行可執(zhí)行程序。

開機(jī)啟動(dòng)Ibus

System >> Preferences >> Startup Applications
Click the button: Add
Name: ibus daemon
Command: /usr/bin/ibus-daemon -d
Comment: start ibus daemon when gnome start

 

System >> Preferences >> Startup Applications
Click the button: Add
Name: ibus daemon-open
Command: /usr/bin/ibus-daemon -drx

Comment: start ibus daemon when gnome starting

 

常用命令:

im-switch -s ibus   #啟動(dòng)ibus框架

ibus-setup     #設(shè)置ibus框架

ibus-daemon -drx  #通常情況下,IBus圖標(biāo)(一個(gè)小鍵盤)會(huì)出現(xiàn)在桌面右上角的任務(wù)欄中。有時(shí)候這個(gè)圖標(biāo)會(huì)自行消失,可使用以下命令,找回消失的IBus圖標(biāo)

im-switch   #設(shè)置系統(tǒng)輸入法

 

$ sudo killall ibus-daemon   #重啟ibus

$ sudo ibus-daemon -d –xim  

 

 

 

二、fcitx輸入法:

 

1、安裝fcitx for Qt5動(dòng)態(tài)庫(kù),從而得到需要的依賴庫(kù)

執(zhí)行如下命令:sudo apt-get install fcitx-libs-qt5

安裝fcitx輸入法前端:sudo apt-get install fcitx-frontend-qt5 

 

2、配置Fcitx環(huán)境變量:

export XMODIFIERS=@im=fcitx  

export XIM=fcitx  

export XIM_PROGRAM=fcitx  

export GTK_IM_MODULE=fcitx  

export QT_IM_MODULE=fcitx

 

3.1讓qtcreator開發(fā)環(huán)境支持搜狗輸入法:

   進(jìn)入Qt安裝目錄的下面路徑:{path}是Qt的安裝目錄cd{path}(可用命令dpkg -L 包名看文件安裝路徑)

/Qt5.3.1/Tools/QtCreator/bin/plugins/platforminputcontexts 

   拷貝fcitx輸入法支持文件:執(zhí)行如下命令 將支持文件copy 到上文的目錄sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so . (對(duì)于32位系統(tǒng),對(duì)應(yīng)的目錄為/usr/lib/i386-linux-gnu/qt5/plugins/platforminputcontexts/

)

為剛才的文件添加可執(zhí)行命令: chmod+x  libfcitxplatforminputcontextplugin.so  重啟Qt就可以使用搜狗輸入法了!如果還是不行,重啟電腦,再重新打開qtCreator就可以了。 但是 原來的ctrl+空格是代碼提示快捷鍵,現(xiàn)在用于切換輸入法。這也好解決:
Qt creator--->工具--->選項(xiàng)--->環(huán)境--->鍵盤。然后找到Complete This修改之即可

3.2讓qt5開發(fā)出來的程序也支持搜狗輸入法:

   發(fā)布程序時(shí)同時(shí)把拷貝到程序所在目錄,需要在工程目錄創(chuàng)建platforminputcontexts目錄,然后把/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so拷貝到platforminputcontexts目錄,與程序一起發(fā)布,就可以讓qt開發(fā)出來的程序在其他機(jī)器也能支持fcitx輸入法了,如果還是不行,重啟電腦,重新運(yùn)行可執(zhí)行程序。

   

   

 

 

常用命令:

Im-switch -s fcitx切換當(dāng)前輸入法為fcitx

im-switch -s fcitx -z default  #將fcitx設(shè)為默認(rèn)輸入法

 

 

總結(jié)

 

qt安裝目錄下/5.3/gcc_64/plugins這個(gè)目錄是用qt creator編譯出的程序運(yùn)行時(shí)調(diào)用插件的目錄,所以這個(gè)輸入法插件要放到這。好像自己在編譯出的程序下新建
plugins/platforminputcontexts/目錄,再將libfcitxplatforminputcontextplugin.so放進(jìn)去也是可以的。
qt安裝目錄下/Tools/QtCreator/bin/plugins/這個(gè)目錄是qt creator自己調(diào)用插件的目錄,所以要想在qt creator中輸入中文這里也要放一個(gè)。
 

測(cè)試結(jié)果:

測(cè)試環(huán)境: Linux gdlctech-System-Product-Name 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

 

測(cè)試程序(以下程序同時(shí)運(yùn)行時(shí)均可以正常使用輸入法,不沖突):

qt4.8.5(用自己系統(tǒng)安裝的

qtcreator以及其開發(fā)出來的程序)

qt5.3.1(32位的qtCreator可執(zhí)行程序以及用它開發(fā)出來的程序)

Qt4.7.4(金山wps)

QQ程序(應(yīng)該是qt4的某個(gè)版本)

 

注意事項(xiàng):當(dāng)ibus和fcitx輸入法同時(shí)運(yùn)行時(shí),切換輸入法會(huì)有沖突!所以,不要把兩種輸入法同時(shí)運(yùn)行。

http://blog.csdn.net/u013281495/article/details/50560817

( 第一次配置archlinux出錯(cuò)多啊)

安裝完系統(tǒng)之后發(fā)現(xiàn),雖然安裝了ibus,可是QT的程序都不能輸入,心中納悶,也很郁悶。-我安裝的是KDE。

上網(wǎng)搜資料,方法正是五花八門,但是,針對(duì)的都是scim或者fcitx的問題,ibus都沒有,試試看,效果也不好,都失敗了。
搜到另一個(gè)帖子時(shí),有人回答說:“是locale沒設(shè)好”,突然想起來,當(dāng)初聽wiki的建議,為了防止亂碼沒有設(shè)置locale,試試看locale吧。
打開/etc/locale.gen,將zh_CN前的#號(hào)全部刪除,輸入sudo locale-gen,提示成功設(shè)置。
QT終于可以支持ibus輸入了 - 鱈魚 - linux 菜鳥
 
QT終于可以支持ibus輸入了 - 鱈魚 - linux 菜鳥
 
這回再試試看輸入中文,仍然失敗。
此處系統(tǒng)默認(rèn)locale仍然為en_US,輸入locale命令就知道了
想了想,又打開系統(tǒng)設(shè)置-語言,手動(dòng)將中文設(shè)置為系統(tǒng)默認(rèn)。
 QT終于可以支持ibus輸入了 - 鱈魚 - linux 菜鳥

嘗試 輸入中文,仍然失敗。
還需要打開登陸界面進(jìn)行設(shè)置
最后查找archlinux的wiki,在locale設(shè)置中有如下文字:
在KDE或者gnome桌面環(huán)境下,由各自的系統(tǒng)管理器設(shè)置kdm或者gdm。(登錄管理器的配置文件決定系統(tǒng)語言)
由于當(dāng)初安裝時(shí)沒有查到kdm的管理器,因此安裝的是gdm,啟動(dòng)的也是gdm,是不是這個(gè)緣故?可是kdm該怎么安裝呢?查找wiki得知,kdm就包含在kdebase-workspace也就是kde桌面的安裝包內(nèi)。打開 /usr/bin,眼見kdm赫然在里面躺著!原來我已經(jīng)安裝了。
QT終于可以支持ibus輸入了 - 鱈魚 - linux 菜鳥
 
于是修改 /etc/rc.conf,將最后一行的gdm,改為kdm,重啟系統(tǒng)。
QT終于可以支持ibus輸入了 - 鱈魚 - linux 菜鳥
 
最后,實(shí)驗(yàn)成功!
此時(shí)只有部分支持
補(bǔ)充話外:
其實(shí)在上面的設(shè)置完成以后,并沒有成功的能在所有的QT程序里輸入中文,下面補(bǔ)充一下設(shè)置:
首先設(shè)置locale.gen錯(cuò)誤,當(dāng)初只是把中文列入了支持語言列表,卻沒有成為默認(rèn)設(shè)置語言,第二沒有安裝ibus的qt版本,需要繼續(xù)做以下行動(dòng):
運(yùn)行終端,輸入
pacman -S ibus-qt
#安裝QT支持
打開~/.bashrc,添加下列文字:
export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=xim
export ibus &
export LC_CTYPE=zh_CN.utf8
保存
#新建ibus.sh,將上述語句與ibus-daemon -d添加到其中,最后設(shè)置該腳本為系統(tǒng)自啟動(dòng),就不需要先啟動(dòng)終端了。
接著,打開系統(tǒng)設(shè)置systemsettings,選擇“登錄設(shè)置”,在下拉菜單中將登錄界面語言設(shè)置為“zh_CN UTF-8”,重啟系統(tǒng)。
做完上述操作后,輸入
qtconfig
打開QT設(shè)置,切換到“界面”選項(xiàng),將默認(rèn)輸入法修改為ibus。
做完這一切就打開QT程序,就都支持ibus了。
聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

子洲县| 东阿县| 台州市| 南宫市| 台南市| 密云县| 天峨县| 两当县| 长阳| 崇义县| 邢台市| 和硕县| 额敏县| 井研县| 锦屏县| 江口县| 淄博市| 金门县| 冀州市| 阿图什市| 洪泽县| 巴林左旗| 冀州市| 琼结县| 荔浦县| 邢台市| 开封县| 达日县| 莲花县| 桑日县| 永清县| 武城县| 观塘区| 宝丰县| 渝中区| 巴彦淖尔市| 平乡县| 宜黄县| 安陆市| 万山特区| 汾西县|