在年前的一篇文章中,我提到要学习Qt.于是在这学期看了一个月的qt。现在大致对qt有了一些了解。但是现在导师又把我调到了android应用开发平台,所以说qt的学习要搁置了。本打算这学期做一个单词查询软件的,目测只有在暑假完成了,现在才刚刚完成了本地词库的查询。目前的工作解决了词库的来源、本地词典的查询功能。日后的工作还有访问网络词库、记单词的算法实现等等。下面来说一说我在本地查词功能实现的问题—显示音标!

我们知道,qt中讲的比较多的是如何显示中文。一般情况都可以用下面代码来解决:

  QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

但是,我们本文解决的是显示国际音标。因为当我们从词库中搜索到我们查的单词时,便会显示其音标和意思。但是有一些音标却无法显示,举例如下:

对比两张图就可以看出有一些音标无法显示。

由于Qt可以解析html语言,因此我们可以通过在html语言中设置字体来显示这些特殊的音标一些常用的音标有:

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

我们可以通过下面程序来测试:

QString str2="<font face=\"Times New Roman\"> θ  ð  ʃ  ʒ  tʃ  dʒ  ŋ ɪ æ  ɔ  ʌ   ʊ  ə  ɛ ɑ: ʊ: ɔ eɪ  ɑɪ  ɔɪ  əʊ  oʊ  ɑʊ ɪə  eə  ʊə  ɪə</font>";

然后将上面的字符串放入Qlabel等部件进行显示,在这里就不给出具体程序了。测试结果如下:

经过测试如上图,上述特殊音标都可以正常显示。学习过html语言的可以看出上面的字符串是html语言,并且将字体设置为Time New Roman。

举一反三,如果要显示其它特殊字符,只需找出其所在的字体。当然,如果你学过html,你可以在上面的语句中包含多个字体(有备无患)。

基于Qt的词典开发系列

  1. 词典框架设计及成品展示
  2. 本地词典的设计
  3. 开始菜单的设计
  4. 无边框窗口的缩放与拖动
  5. 无边框窗口的拖动
  6. 界面美化设计
  7. 调用网络API
  8. 用户登录及API调用的实现
  9. JSON数据解析
  10. 国际音标的显示
  11. 系统托盘的显示
  12. 调用讲述人
  13. 音频播放
  14. 自动补全功能
  15. HTML特殊字符及正则表达式
  16. 后序
作品下载地址(发布版):http://download.csdn.net/detail/tengweitw/8548767
作品下载地址(绿色版):http://download.csdn.net/detail/tengweitw/8830495
源码下载地址:http://download.csdn.net/detail/tengweitw/8830503

原文:http://blog.csdn.net/tengweitw/article/details/23294533

作者:nineheadedbird

【Qt编程】基于Qt的词典开发系列十--国际音标的显示相关推荐

  1. 【Qt编程】基于Qt的词典开发系列十二调用讲述人

    我们知道,win7系统自带有讲述人,即可以机器读出当前内容,具体可以将电脑锁定,然后点击左下角的按钮即可.之前在用Matlab写扫雷游戏的时候,也曾经调用过讲述人来进行游戏的语音提示.具体的Matla ...

  2. 【Qt编程】基于Qt的词典开发系列六--界面美化设计

    本文讲一讲界面设计,作品要面向用户,界面设计的好坏直接影响到用户的体验.现在的窗口设计基本都是扁平化的,你可以从window XP与window 8的窗口可以明显感觉出来.当然除了窗口本身的效果,窗口 ...

  3. 【Qt编程】基于Qt的词典开发系列一--词典框架设计及成品展示

    去年暑假的时候,作为学习Qt的实战,我写了一个名为<我爱查词典>的词典软件.后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善.这学期重新拿出来看时,又有很多东 ...

  4. .ne中的控制器循环出来的数据如何显示在视图上_让不懂编程的人爱上iPhone开发系列2 iOS12+Swift4.2版-Checklists-16...

    让不懂编程的人爱上iPhone开发系列2 iOS12+Swift4.2版-Checklists-16 添加导航栏按钮 说明: 本系列教程改编自raywenderlich.com中的iOS Appren ...

  5. S5PV210开发系列十_Lwip的移植

    S5PV210开发系列十 Lwip的移植 象棋小子    1048272975 Internet实现了全球范围内计算机网络的互连,不同主机之间必须遵循相同的网络协议才能彼此通信.TCP/IP协议作为一 ...

  6. S3C2416裸机开发系列十六_sd卡驱动实现

    S3C2416裸机开发系列十六 sd卡驱动实现 象棋小子    1048272975 SD卡(Secure Digital Memory Card)具有体积小.容量大.数据传输快.可插拔.安全性好等优 ...

  7. Qt:基于Qt开发的轻量级HTTP/HTTPS服务器

    介绍 JQHttpServer是基于Qt开发的轻量级HTTP/HTTPS服务器,目前支持GET和POST两个协议. 底层有QTcpSocket.QSslSocket和QLocalSocket三个版本, ...

  8. Qt编程(一) Qt框架简介

    1.Qt5 架构 qt 5将所有模块分为三个部分:Qt基本模块(Essentials).Qt扩展模块(Add-ons). 开发工具(Tools) 基本模块定义了基础功能,是核心,兼容所有平台.包括: ...

  9. 【QT编程】QT对象间通讯——信号与槽

    01.目录 文章目录 01.目录 02.信号与槽介绍 03.信号与槽机制 04.信号(Signal) 05.槽函数(Slot) 06.一个示例 07.一个真实的示例 08.信号和槽使用默认参数 09. ...

  10. c++ qt获取电脑的内存_QT开发(十四)——QT绘图系统

    一.QT绘图原理 Qt4中的2D绘图系统称为Arthur绘图系统,可以使用相同的API在屏幕上和绘图设备上进行绘制,主要基于QPainter.QPainterDevice和 QPainterEngin ...

最新文章

  1. ASP.NET Web API
  2. c++中的类型转换--reinterpret_cast
  3. 2 中间件的使用、异步action的创建
  4. linux date fmt,date_format(date,frm) 详解
  5. Scala 按名称传递参数 by-name parameter
  6. hdu1789----贪心+回溯
  7. bat批处理命令大全(翻译转载)
  8. Java项目案例-猜数小游戏和多级菜单系统.....
  9. 是否忘记了向源中添加 stdafx.h
  10. 1+5T LineageOS 谷歌相机 相关处理和链接
  11. RapidMiner简单入门教程——入门必看超详细
  12. matlab将三相电感进行d-q变换.,永磁同步电机交直轴电感计算
  13. SpringBoot系列之集成EasyExcel导入合并行数据
  14. 如何写一个proto消息
  15. 从TS文件中提取DVB Subtitle字幕的有效方法
  16. 【情报工具】分享15款保护隐私的搜索引擎
  17. 小木虫网站无法登陆(账号突然被封禁)的解决办法
  18. [思维模式-12]:《如何系统思考》-8- 工具篇 - 因果回路图/系统循环图/系统控制图,系统思考的关键工具
  19. 关于PS新建(PS如何新建)
  20. 飞控开发--气压计MS5611

热门文章

  1. .json格式转为.yml格式
  2. Python三种设计模式
  3. 串口通讯 电脑和dsp_Sci 使用DSP2812的SCIA模块和PC机进行串口通信,用FIFO功能实现数据的发送和接受。 DSP program 261万源代码下载- www.pudn.com...
  4. 计算机文化基础—计算机软件
  5. 初二计算机辅导记录,计算机一级OFFICE辅导:用Excel制作自动记录的考勤表
  6. “互联网+”医疗服务
  7. AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(菜单篇)
  8. 无线联网常见问题[1]-搜不到无线网络(请先耐心看完)
  9. 博客营销自动赚钱系统
  10. 财智理财7破解思路与总结