QT的的字体使用(全局自带字体特别好用)

您所在的位置:网站首页 哪个软件可以设置字体 QT的的字体使用(全局自带字体特别好用)

QT的的字体使用(全局自带字体特别好用)

2024-07-10 22:19| 来源: 网络整理| 查看: 265

 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() font().rawName(); qDebug() font().family(); qDebug() font().defaultFamily(); qDebug() font().styleName(); qDebug() font().toString(); qDebug() 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 累提供了字体仓库插件的基础累, 用于嵌入式linuxQFontInfo 包含了一个字体的常规信息QFontDialog 用来弹出对话框 来获得指定的字体

---------------------------------------------------------------------

参考:http://mobile.51cto.com/symbian-272552.htm (底下还有系列文章)http://blog.csdn.net/Liuqz2009/article/details/7208637



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3