天天看點

【Qt程式設計】基于Qt的詞典開發系列<十>--國際音标的顯示

        在年前的一篇文章中,我提到要學習Qt.于是在這學期看了一個月的qt。現在大緻對qt有了一些了解。但是現在導師又把我調到了android應用開發平台,是以說qt的學習要擱置了。本打算這學期做一個單詞查詢軟體的,目測隻有在暑假完成了,現在才剛剛完成了本地詞庫的查詢。目前的工作解決了詞庫的來源、本地詞典的查詢功能。日後的工作還有通路網絡詞庫、記單詞的算法實作等等。下面來說一說我在本地查詞功能實作的問題—顯示音标!

我們知道,qt中講的比較多的是如何顯示中文。一般情況都可以用下面代碼來解決:

但是,我們本文解決的是顯示國際音标。因為當我們從詞庫中搜尋到我們查的單詞時,便會顯示其音标和意思。但是有一些音标卻無法顯示,舉例如下:

【Qt程式設計】基于Qt的詞典開發系列<十>--國際音标的顯示
【Qt程式設計】基于Qt的詞典開發系列<十>--國際音标的顯示

對比兩張圖就可以看出有一些音标無法顯示。

由于Qt可以解析html語言,是以我們可以通過在html語言中設定字型來顯示這些特殊的音标。一些常用的音标有:

θ  ð ʃ ʒ tʃ dʒ ŋ ɪ æ ɔ ʌ  ʊ ə ɛ  ɑ:  ʊ:  ɔ  eɪ ɑɪ ɔɪ əʊ oʊ ɑʊ  ɪə eə ʊə ɪə

我們可以通過下面程式來測試:

然後将上面的字元串放入Qlabel等部件進行顯示,在這裡就不給出具體程式了。測試結果如下:

【Qt程式設計】基于Qt的詞典開發系列<十>--國際音标的顯示

經過測試如上圖,上述特殊音标都可以正常顯示。學習過html語言的可以看出上面的字元串是html語言,并且将字型設定為Time New Roman。

舉一反三,如果要顯示其它特殊字元,隻需找出其所在的字型。當然,如果你學過html,你可以在上面的語句中包含多個字型(有備無患)。

基于Qt的詞典開發系列

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/44757875">詞典架構設計及成品展示</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/45014771">本地詞典的設計</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/45099867">開始菜單的設計</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38758051">無邊框視窗的縮放與拖動</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38817595">無邊框視窗的拖動</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/45223931">界面美化設計</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/45484803">調用網絡API</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/45932429">使用者登入及API調用的實作</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/45932429">JSON資料解析</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/23294533">國際音标的顯示</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38237203">系統托盤的顯示</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38306803">調用講述人</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38555787">音頻播放</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38689745">自動補全功能</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/38734201">HTML特殊字元及正規表達式</a>

<a target="_blank" href="http://blog.csdn.net/tengweitw/article/details/46563781">後序</a>

作品下載下傳位址(綠色版):http://download.csdn.net/detail/tengweitw/8830495

源碼下載下傳位址:http://download.csdn.net/detail/tengweitw/8830503

作者:nineheadedbird

繼續閱讀