QT的的字体使用(全局自带字体特别好用)
WIN10下的默认字体居然是Segoe UI,造成各Windows版本显示不一致,可以这样修改Windows的默认字体(重启后生效):
[HKEY_LOCAL_MACHINE>>SOFTWARE>>Microsoft>>WindowsNT>>CurrentVersion>>FontSubstitutes:Segoe UI = Tahoma]
但是最好还是软件自己指定显示字体,这样才能做到可控,这样设置全局字体:
QFont font;
font.setFamily("MS Shell Dlg 2"); // Tahoma 宋体
qApp->setFont(font);
检测全局字体:
qDebug() << qApp->font().rawName();
qDebug() << qApp->font().family();
qDebug() << qApp->font().defaultFamily();
qDebug() << qApp->font().styleName();
qDebug() << qApp->font().toString();
qDebug() << qApp->font().key();
输出结果(QT的默认字体居然是MS Shell Dlg 2):
"unknown"
"MS Shell Dlg 2"
"Arial"
""
"MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
"MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
---------------------------------------------------------------------
另外还可把字体作为资源文件携带,然后再使用,比方说我觉得微软雅黑就不错:
//将字体文件名传给addApplicationFont,得到字体的Id
int fontId = QFontDatabase::addApplicationFont("./res/msyh.ttf");
//将字体Id传给applicationFontFamilies,得到一个QStringList,其中的第一个元素为新添加字体的family
QString msyh = QFontDatabase::applicationFontFamilies ( fontId ).at(0);
QFont font(msyh,10);
//将此字体设为QApplication的默认字体
QApplication::setFont(font);
但是看官方文档说明:
The QFontDatabase class provides information about the fonts available in the underlying window system.
注意,window system不是指windows,而是指所有的窗口系统。
---------------------------------------------------------------------
QFont 为绘画文本提供制定的字体
QFontComboBox 提供了选择字体族的下拉列表框
QFontDatabase 提供了可以在Window 操作系统下能够使用的字体
QFontDialog 用来选择一个指定的字体
QFontEngineInfo 用来描述一个指定的字体引擎插件
QFontEnginePlugin 累提供了字体仓库插件的基础累, 用于嵌入式linux
QFontInfo 包含了一个字体的常规信息
QFontDialog 用来弹出对话框 来获得指定的字体
---------------------------------------------------------------------
参考:
http://mobile.51cto.com/symbian-272552.htm (底下还有系列文章)
http://blog.csdn.net/Liuqz2009/article/details/7208637
QT的的字体使用(全局自带字体特别好用)的更多相关文章
- 被遗忘的宝藏-LaTeX发行版自带字体&自己一些字体心得
KMC大作,如果用xelatex的话,这些知识仅仅作为大家了解.希望对于学习latex有所裨益.原文地址:http://bbs.ctex.org/viewthread.php?tid=43596&am ...
- 扩展layui中的自带字体图标
项目中,虽然layui的字体图标库中已经有了1000多个图标了,但是也有时候不能满足我们自定义图标的需求,所以需要进行自定义,具体步骤如下: 1.在iconfont上找到自己喜欢的图标,也可以上传ui ...
- Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法(修订)
Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体 ...
- app 要求字体使用楷体,使用字体包
1,下载字体包 http://www.3987.com/xiazai/6/fonts/36616.html#down 2. studio中src\main\创建assets\fonts,存放 ...
- 微软雅黑字体IE6 opacity改变,字体会变样子
微软雅黑字体IE6 opacity改变,字体会变样子,换个字体就好了
- 图标字体的使用(fontello.com)字体推荐及使用技巧
网页设计中为了页面漂亮好看,图标是少不了,网页中使用的图标通常都是使用图片,使用图片图标的有很多弊端,如果你经常制作网页应该有一肚子埋怨. 使用图片图标的弊端 放大图标必须重新作图, 改变颜色必须开启 ...
- CSS 中的字体兼容写法:用CSS为英文和中文字体分别设置不同的字体
font-family的调用方法: font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px/.75em ...
- CSS为英文和中文字体分别设置不同的字体
font-family的调用方法: div { font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px ...
- 修改eclipse 代码字体大小以及文档字体大小
1..点击[window]在弹出的窗口中选择[preferences] 2.在弹出窗口中找到依次点击General(常规)——Apprearance(外观)——Colors and Fonts(颜色和 ...
随机推荐
- mongoDb 给表添加+ 删除字段
1 .添加一个字段. url 代表表名 , 添加字段 content. 字符串类型. db.url.update({}, {$set: {content:""}}, {multi ...
- eclipse+axis2+webservice开发实例
myeclipse10安装axis2插件 第一步:下载axis2-1.6的插件压缩包,axis2-eclipse-codegen-plugin-1.6.2.zip 和 axis2-eclipse-se ...
- UML中的图
用例图.类图.包图.顺序图.协作图.状态图.活动图.构件图.部署图等 1.用例图 显示多个外部参与者以及他们与系统提供的用例之间的连接.用例是系统中的一个可以描述参与者与系统之间交互作用功能单元.用例 ...
- 解除网页右键限制和开启网页编辑状态的js代码
当访问页面右键被限制了怎么办?很好办!将以下代码添加进收藏夹,点击执行即可: javascript:alert(document.onselectstart = document.onbeforeco ...
- 转载:C# 之泛型详解
本文原地址:http://www.blogjava.net/Jack2007/archive/2008/05/05/198566.html.感谢博主分享! 什么是泛型 我们在编写程序时,经常遇到两个模 ...
- sql server 各种函数
SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合. 1. 字符串函数 函数 名称 参数 示例 说明 ascii(字符串表达式) select ascii('abc') 返回 97 返 ...
- Linq101-Generation
using System; using System.Linq; namespace Linq101 { class Generation { /// <summary> /// This ...
- redisbook笔记——redis内存映射数据结构
虽然内部数据结构非常强大,但是创建一系列完整的数据结构本身也是一件相当耗费内存的工作,当一个对象包含的元素数量并不多,或者元素本身的体积并不大时,使用代价高昂的内部数据结构并不是最好的办法. 为了解决 ...
- SSIS学习计划
百科:SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取.转换和加载 (ETL) 包)的平台. htt ...
- repeater控件 + marquee标签 实现文字滚动显示
各种信息网站.BBS等网站上的公告信息模块的实现 拖出一个repeater控件绑定数据库中要显示的信息 在repeater的 <ItemTemplate> ... </ItemTem ...