在年前的一篇文章中,我提到要學習Qt.于是在這學期看了一個月的qt。現在大緻對qt有了一些了解。但是現在導師又把我調到了android應用開發平台,是以說qt的學習要擱置了。本打算這學期做一個單詞查詢軟體的,目測隻有在暑假完成了,現在才剛剛完成了本地詞庫的查詢。目前的工作解決了詞庫的來源、本地詞典的查詢功能。日後的工作還有通路網絡詞庫、記單詞的算法實作等等。下面來說一說我在本地查詞功能實作的問題—顯示音标!
我們知道,qt中講的比較多的是如何顯示中文。一般情況都可以用下面代碼來解決:
但是,我們本文解決的是顯示國際音标。因為當我們從詞庫中搜尋到我們查的單詞時,便會顯示其音标和意思。但是有一些音标卻無法顯示,舉例如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcNjUYFGbkNjW1Z1RkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zM0MzMxcTMwITOwQDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
對比兩張圖就可以看出有一些音标無法顯示。
由于Qt可以解析html語言,是以我們可以通過在html語言中設定字型來顯示這些特殊的音标。一些常用的音标有:
θ ð ʃ ʒ tʃ dʒ ŋ ɪ æ ɔ ʌ ʊ ə ɛ ɑ: ʊ: ɔ eɪ ɑɪ ɔɪ əʊ oʊ ɑʊ ɪə eə ʊə ɪə
我們可以通過下面程式來測試:
然後将上面的字元串放入Qlabel等部件進行顯示,在這裡就不給出具體程式了。測試結果如下:
經過測試如上圖,上述特殊音标都可以正常顯示。學習過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