文字属性对话框
QFont ft;
bool enable = false;//定义bool型输出变量
ft = QFontDialog::getFont(&enable,QFont(QStringLiteral("宋体"),20,QFont::Bold),this,QStringLiteral("自定义文字属性"));
//调用文字属性设置变量,传输输入变量enable用于保存是否点击了ok按钮,第二个参数为文字属性对话框默认值
设置字间距% / 像素值
//设置字间距像素值
ft.setLetterSpacing(QFont::AbsoluteSpacing,20); //设置字间距为100像素
ft.setLetterSpacing(QFont::PercentageSpacing,300); //300%,100为默认
/*
enum SpacingType {
PercentageSpacing,
AbsoluteSpacing
};
*/
字体/字体大小 等
ft.setFamily(QStringLiteral("宋体"));
//字体:宋体、黑体、Times New Roman、微软雅黑、幼圆、仿宋
//设置字体大小
ft.setPointSize(14);
//字体加粗
ft.setBold(true);
//斜体
ft.setItalic(true);
//上划线
ft.setOverline(true);
//下划线
ft.setUnderline(true);
//删除线(中划线)
ft.setStrikeOut(true);
//字距调整
ft.setKerning(true);
//设置文字粗细//enum Weight 存在5个值
ft.setWeight(QFont::Light);
/*
enum Weight {
Light = 25,
Normal = 50,
DemiBold = 63,
Bold = 75,
Black = 87
};
*/
设置字体像素大小
ft.setPixelSize(14);
/*
字体号数与像素对应关系
英文字体的1磅,相当于1/72 英寸,约等于1/2.8mm。 12PT的字打印出来约为4.2mm。网页中12px的字才相当于12像素。
DPI: Dot per inch,在显示器上也就是每英寸包含的像素。英尺的换算为 1 cm = 0.39 inch, 1 inch = 2.54 cm。
DPI 可以通过如下计算得来:
水平 dpi = 水平 resolution * 2.54 / 显示器宽度
垂直 dpi = 垂直 resolution * 2.54 / 显示器高度
pixel pitch(点距): 像素点间距离。可以用25.4mm / DPI得到。
字体在屏幕上的实际大小 = 字体像素大小 * 点距
中文字号VS英文字号(磅)VS像素值的对应关系:
八号=5磅(5pt) ==(5/72)*96=6.67 =6px
七号=5.5磅 ==(5.5/72)*96=7.3 =7px
小六=6.5磅 ==(6.5/72)*96=8.67 =8px
六号=7.5磅 ==(7.5/72)*96=10px
小五=9磅 ==(9/72)*96=12px
五号=10.5磅 ==(10.5/72)*96=14px
小四=12磅 ==(12/72)*96=16px
四号=14磅 ==(14/72)*96=18.67 =18px
小三=15磅 ==(15/72)*96=20px
三号=16磅 ==(16/72)*96=21.3 =21px
小二=18磅 ==(18/72)*96=24px
二号=22磅 ==(22/72)*96=29.3 =29px
小一=24磅 ==(24/72)*96=32px
一号=26磅 ==(26/72)*96=34.67 =34px
小初=36磅 ==(36/72)*96=48px
初号=42磅 ==(42/72)*96=56px
*/
设置首个字母大写
//(跟参数有关,也可以设置全部大写AllUppercase)
font.setCapitalization(QFont::Capitalize);
获取字体的值 QFontMetrics
//通过QFontMetrics获取字体的值
QFontMetrics fm(font);
qDebug() << fm.height(); //获取文字高度
qDebug() << fm.maxWidth(); //获取文字宽度
//通过QFontInfo获取也能获取字体信息
QFontInfo fInfo(font);
qDebug() << fInfo.family() <<" "<<fInfo.style() << fInfo.pixelSize() << fInfo.overline();
QFont衍生
QFont 为绘画文本提供制定的字体
QFontComboBox 提供了选择字体族的下拉列表框
QFontDatabase 提供了可以在Window 操作系统下能够使用的字体
QFontDialog 用来选择一个指定的字体
QFontEngineInfo 用来描述一个指定的字体引擎插件
QFontEnginePlugin 累提供了字体仓库插件的基础累, 用于嵌入式linux
QFontInfo 包含了一个字体的常规信息
QFontDialog 用来弹出对话框 来获得指定的字体