1. 程式人生 > 其它 >Ubuntu下Qt(Retex)無法輸入中文

Ubuntu下Qt(Retex)無法輸入中文

這個問題從我第一次在Ubuntu上使用Qt便困擾著我,奈何之前一直沒認真去解決掉這個問題。今天作死想想,這個不可能解決不掉的。因為那麼多人用Ubuntu,而且又那麼多人用Qt的產品,比如Retext。不可能都不能用中文吧,按照這個思路,我決定把這個問題搞清除。

網上有一份教程(應該說是很多份相同的教程,嚴重懷疑事不經認證的copy),如:http://www.th7.cn/system/lin/201407/63590.shtml
我不清楚這份教程是適合那個版本的Ubuntu,但對我來說,那是一個不管用啊。坑的我來回解除安裝安裝重啟。最後還是不能用。

我的系統剛安裝沒多久,版本號:Ubuntu14.10,Qt5.3.1。按理說我沒安裝一些亂七八糟的東西,庫應該不會有問題的啊,而且輸入法是嚴格按照搜狗輸入法

官網的方法安裝的,自動安裝了fcitx。
檢查一下系統安裝的 fcitx系列包:

~$: dpkg -l fcitx*

結果顯示如下:
//images0.cnblogs.com/blog2015/502942/201504/111944169154983.png

其中,有一項:fcitx-frontend-qt5 是後來通過命令安裝的。這個包也是Qt專案能在Ubuntu下輸入中文的關鍵專案。

網上和Qt的QQ群裡找了一下資料發現需要安裝fcitx-frontend-qt5 ,所以手動安裝了一下,但發現系統中已經有了,所以應該不是這個問題。(我之前參照安裝ibus-qt4的方式安裝了一下fcitx*qt*)shell命令如下:

~$: sudo apt-get install fcitx*qt*

但這種方式其實並沒有解決問題,也不管用。
最後急了,想是後是因為Qt找不到庫檔案呢,在QQ群裡也得到了印證,所以嘗試將fcitx-frontend-qt5輸入法部分複製到Qt中:(我的Qt安裝目錄是:/home/myname/Qt5.3.1/)
首先找到fcitx-frontend-qt5的庫的安裝位置:~$: dpkg -L fcitx-frontend-qt5

~$: sudo apt-get install fcitx-frontend-qt5
~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so  /home/myname/Qt5.3.1/5.3/gcc_64/plugins/platforminputcontexts
~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so  /home/myname/Qt5.3.1/Tools/QtCreator/bin/plugins/platforminputcontexts/

然後再次重啟QtCreator,O,GOD !還是不可以用了~~~~~但發現狀態列輸入法部分有問題,遂更改之:輸入法選擇:搜狗輸入法,文字輸入選擇EnZh,不是pinyin,再在QtCreator裡測試了一下,呵呵,解決了~_~ 。

我裝了markdown編輯器Retext,同樣也是不能輸入中文,由於Retext也是基於Qt庫,所以我想能不能也用此種方法解決呢。先檢視Retext安裝目錄(我是使用終端進行安裝的~$: sudo apt-get install retext):
首先找Retext安裝位置:~$: dpkg -l retext

可以看到,基本是在目錄:/usr/share/retext/,而且沒找到plugins這樣的目錄,那我們就先測試一下copy到根下能不能用吧:

~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so  /usr/share/retext

複製後,開啟Retext測試一下,發現,呵呵,能用中文了~~~~OY !
此文件便是使用其進行編寫的!
至此,猜想,以後如果再遇到這種不能輸入中文的問題,就將fcitx-frontend-qt5copy到程式目錄下看看~~~想來其他的應該也是這樣。由於網上的關於這方面的教程本人實測後都沒有效果,所以將此方法記錄下來,給還沒有解決的人一個參照。

最後,在QQ群裡,有人向我推薦了一個博文:http://blog.csdn.net/crazyboy2009/article/details/38537099,後來看看,好吧,看來我得改進改進搜尋方式了~~。看到有網友回覆不能用,好像是因為:複製時要更改檔案許可權 shmod a+x。我的並沒有出現這個問題,如果不能用,試一下改改許可權。

附錄

這個問題從我第一次在Ubuntu上使用Qt便困擾著我,奈何之前一直沒認真去解決掉這個問題。今天作死想想,這個不可能解決不掉的。因為那麼多人用Ubuntu,而且又那麼多人用Qt的產品,比如Retext。不可能都不能用中文吧,按照這個思路,我決定把這個問題搞清除。

網上有一份教程(應該說是很多份相同的教程,嚴重懷疑事不經認證的copy),如:http://www.th7.cn/system/lin/201407/63590.shtml
我不清楚這份教程是適合那個版本的Ubuntu,但對我來說,那是一個不管用啊。坑的我來回解除安裝安裝重啟。最後還是不能用。

我的系統剛安裝沒多久,版本號:Ubuntu14.10,Qt5.3.1。按理說我沒安裝一些亂七八糟的東西,庫應該不會有問題的啊,而且輸入法是嚴格按照搜狗輸入法官網的方法安裝的,自動安裝了fcitx。
檢查一下系統安裝的 fcitx系列包:

~$: dpkg -l fcitx*

結果顯示如下:
//images0.cnblogs.com/blog2015/502942/201504/111944169154983.png

其中,有一項:fcitx-frontend-qt5 是後來通過命令安裝的。這個包也是Qt專案能在Ubuntu下輸入中文的關鍵專案。

網上和Qt的QQ群裡找了一下資料發現需要安裝fcitx-frontend-qt5 ,所以手動安裝了一下,但發現系統中已經有了,所以應該不是這個問題。(我之前參照安裝ibus-qt4的方式安裝了一下fcitx*qt*)shell命令如下:

~$: sudo apt-get install fcitx*qt*

但這種方式其實並沒有解決問題,也不管用。
最後急了,想是後是因為Qt找不到庫檔案呢,在QQ群裡也得到了印證,所以嘗試將fcitx-frontend-qt5輸入法部分複製到Qt中:(我的Qt安裝目錄是:/home/myname/Qt5.3.1/)
首先找到fcitx-frontend-qt5的庫的安裝位置:~$: dpkg -L fcitx-frontend-qt5

~$: sudo apt-get install fcitx-frontend-qt5
~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so  /home/myname/Qt5.3.1/5.3/gcc_64/plugins/platforminputcontexts
~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so  /home/myname/Qt5.3.1/Tools/QtCreator/bin/plugins/platforminputcontexts/

然後再次重啟QtCreator,O,GOD !還是不可以用了~~~~~但發現狀態列輸入法部分有問題,遂更改之:輸入法選擇:搜狗輸入法,文字輸入選擇EnZh,不是pinyin,再在QtCreator裡測試了一下,呵呵,解決了~_~ 。

我裝了markdown編輯器Retext,同樣也是不能輸入中文,由於Retext也是基於Qt庫,所以我想能不能也用此種方法解決呢。先檢視Retext安裝目錄(我是使用終端進行安裝的~$: sudo apt-get install retext):
首先找Retext安裝位置:~$: dpkg -l retext

可以看到,基本是在目錄:/usr/share/retext/,而且沒找到plugins這樣的目錄,那我們就先測試一下copy到根下能不能用吧:

~$: sudo cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so  /usr/share/retext

複製後,開啟Retext測試一下,發現,呵呵,能用中文了~~~~OY !
此文件便是使用其進行編寫的!
至此,猜想,以後如果再遇到這種不能輸入中文的問題,就將fcitx-frontend-qt5copy到程式目錄下看看~~~想來其他的應該也是這樣。由於網上的關於這方面的教程本人實測後都沒有效果,所以將此方法記錄下來,給還沒有解決的人一個參照。

最後,在QQ群裡,有人向我推薦了一個博文:http://blog.csdn.net/crazyboy2009/article/details/38537099,後來看看,好吧,看來我得改進改進搜尋方式了~~。看到有網友回覆不能用,好像是因為:複製時要更改檔案許可權 shmod a+x。我的並沒有出現這個問題,如果不能用,試一下改改許可權。

附錄

作者:Lomper 出處:http://www.cnblogs.com/lomper 關於作者:小菜鳥一枚,歡迎大神指點! 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線.