QT的的字体使用(全局自带字体特别好用) |
您所在的位置:网站首页 › 哪个软件可以设置字体 › 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() 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 |