🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 【Qt编程】基于Qt的词典开发系列--国际音标的显示 在年前的一篇文章中,我提到要学习Qt.于是在这学期看了一个月的qt。现在大致对qt有了一些了解。但是现在导师又把我调到了android应用开发平台,所以说qt的学习要搁置了。本打算这学期做一个单词查询软件的,目测只有在暑假完成了,现在才刚刚完成了本地词库的查询。目前的工作解决了词库的来源、本地词典的查询功能。日后的工作还有访问网络词库、记单词的算法实现等等。下面来说一说我在本地查词功能实现的问题—显示音标! 我们知道,qt中讲的比较多的是如何显示中文。一般情况都可以用下面代码来解决: ~~~ QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));   QTextCodec::setCodecForTr(QTextCodec::codecForLocale());   ~~~ 但是,我们**本文解决的是显示国际音标**。因为当我们从词库中搜索到我们查的单词时,便会显示其音标和意思。但是有一些音标却无法显示,举例如下: ![](https://box.kancloud.cn/2016-01-15_5698c1c8b916e.jpg) ![](https://box.kancloud.cn/2016-01-15_5698c1c8c81b4.jpg) **对比两张图就可以看出有一些音标无法显示。** **由于Qt可以解析html语言,因此我们可以通过在html语言中设置字体来显示这些特殊的音标**。**一些常用的音标有:** θ  ð ʃ ʒ tʃ dʒ ŋ ɪ æ ɔ ʌ  ʊ ə ɛ  ɑ:  ʊ:  ɔ  eɪ ɑɪ ɔɪ əʊ oʊ ɑʊ  ɪə eə ʊə ɪə **我们可以通过下面程序来测试:** ` QString str2=" θ  ð  ʃ  ʒ  tʃ  dʒ  ŋ ɪ æ  ɔ  ʌ   ʊ  ə  ɛ ɑ: ʊ: ɔ eɪ  ɑɪ  ɔɪ  əʊ  oʊ  ɑʊ ɪə  eə  ʊə  ɪə";  ` 然后将上面的字符串放入Qlabel等部件进行显示,在这里就不给出具体程序了。**测试结果如下:** ![](https://box.kancloud.cn/2016-01-15_5698c1c8d9d93.jpg) 经过测试如上图,上述特殊音标都可以正常显示。学习过html语言的可以看出上面的字符串是html语言,并且将字体设置为Time New Roman。 举一反三,如果要显示其它特殊字符,只需找出其所在的字体。当然,如果你学过html,你可以在上面的语句中包含多个字体(有备无患)。