【Qt编程】基于Qt的词典开发系列十--国际音标的显示
在年前的一篇文章中,我提到要学习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的词典开发系列
- 词典框架设计及成品展示
- 本地词典的设计
- 开始菜单的设计
- 无边框窗口的缩放与拖动
- 无边框窗口的拖动
- 界面美化设计
- 调用网络API
- 用户登录及API调用的实现
- JSON数据解析
- 国际音标的显示
- 系统托盘的显示
- 调用讲述人
- 音频播放
- 自动补全功能
- HTML特殊字符及正则表达式
- 后序
原文:http://blog.csdn.net/tengweitw/article/details/23294533
作者:nineheadedbird
【Qt编程】基于Qt的词典开发系列十--国际音标的显示相关推荐
- 【Qt编程】基于Qt的词典开发系列十二调用讲述人
我们知道,win7系统自带有讲述人,即可以机器读出当前内容,具体可以将电脑锁定,然后点击左下角的按钮即可.之前在用Matlab写扫雷游戏的时候,也曾经调用过讲述人来进行游戏的语音提示.具体的Matla ...
- 【Qt编程】基于Qt的词典开发系列六--界面美化设计
本文讲一讲界面设计,作品要面向用户,界面设计的好坏直接影响到用户的体验.现在的窗口设计基本都是扁平化的,你可以从window XP与window 8的窗口可以明显感觉出来.当然除了窗口本身的效果,窗口 ...
- 【Qt编程】基于Qt的词典开发系列一--词典框架设计及成品展示
去年暑假的时候,作为学习Qt的实战,我写了一个名为<我爱查词典>的词典软件.后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善.这学期重新拿出来看时,又有很多东 ...
- .ne中的控制器循环出来的数据如何显示在视图上_让不懂编程的人爱上iPhone开发系列2 iOS12+Swift4.2版-Checklists-16...
让不懂编程的人爱上iPhone开发系列2 iOS12+Swift4.2版-Checklists-16 添加导航栏按钮 说明: 本系列教程改编自raywenderlich.com中的iOS Appren ...
- S5PV210开发系列十_Lwip的移植
S5PV210开发系列十 Lwip的移植 象棋小子 1048272975 Internet实现了全球范围内计算机网络的互连,不同主机之间必须遵循相同的网络协议才能彼此通信.TCP/IP协议作为一 ...
- S3C2416裸机开发系列十六_sd卡驱动实现
S3C2416裸机开发系列十六 sd卡驱动实现 象棋小子 1048272975 SD卡(Secure Digital Memory Card)具有体积小.容量大.数据传输快.可插拔.安全性好等优 ...
- Qt:基于Qt开发的轻量级HTTP/HTTPS服务器
介绍 JQHttpServer是基于Qt开发的轻量级HTTP/HTTPS服务器,目前支持GET和POST两个协议. 底层有QTcpSocket.QSslSocket和QLocalSocket三个版本, ...
- Qt编程(一) Qt框架简介
1.Qt5 架构 qt 5将所有模块分为三个部分:Qt基本模块(Essentials).Qt扩展模块(Add-ons). 开发工具(Tools) 基本模块定义了基础功能,是核心,兼容所有平台.包括: ...
- 【QT编程】QT对象间通讯——信号与槽
01.目录 文章目录 01.目录 02.信号与槽介绍 03.信号与槽机制 04.信号(Signal) 05.槽函数(Slot) 06.一个示例 07.一个真实的示例 08.信号和槽使用默认参数 09. ...
- c++ qt获取电脑的内存_QT开发(十四)——QT绘图系统
一.QT绘图原理 Qt4中的2D绘图系统称为Arthur绘图系统,可以使用相同的API在屏幕上和绘图设备上进行绘制,主要基于QPainter.QPainterDevice和 QPainterEngin ...
最新文章
- ASP.NET Web API
- c++中的类型转换--reinterpret_cast
- 2 中间件的使用、异步action的创建
- linux date fmt,date_format(date,frm) 详解
- Scala 按名称传递参数 by-name parameter
- hdu1789----贪心+回溯
- bat批处理命令大全(翻译转载)
- Java项目案例-猜数小游戏和多级菜单系统.....
- 是否忘记了向源中添加 stdafx.h
- 1+5T LineageOS 谷歌相机 相关处理和链接
- RapidMiner简单入门教程——入门必看超详细
- matlab将三相电感进行d-q变换.,永磁同步电机交直轴电感计算
- SpringBoot系列之集成EasyExcel导入合并行数据
- 如何写一个proto消息
- 从TS文件中提取DVB Subtitle字幕的有效方法
- 【情报工具】分享15款保护隐私的搜索引擎
- 小木虫网站无法登陆(账号突然被封禁)的解决办法
- [思维模式-12]:《如何系统思考》-8- 工具篇 - 因果回路图/系统循环图/系统控制图,系统思考的关键工具
- 关于PS新建(PS如何新建)
- 飞控开发--气压计MS5611
热门文章
- .json格式转为.yml格式
- Python三种设计模式
- 串口通讯 电脑和dsp_Sci 使用DSP2812的SCIA模块和PC机进行串口通信,用FIFO功能实现数据的发送和接受。 DSP program 261万源代码下载- www.pudn.com...
- 计算机文化基础—计算机软件
- 初二计算机辅导记录,计算机一级OFFICE辅导:用Excel制作自动记录的考勤表
- “互联网+”医疗服务
- AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(菜单篇)
- 无线联网常见问题[1]-搜不到无线网络(请先耐心看完)
- 博客营销自动赚钱系统
- 财智理财7破解思路与总结