#include<QFontMetrics>

//for starf study

#include “mainwindow.h”
#include “ui_mainwindow.h”

#include
#include
#include
#include

//QFontMetrics类提供字体度量信息。
//QFontMetrics函数计算给定字体的字符和字符串大小。
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QFont ft2 = QFont(“宋体”,14,66,true);
QFontMetrics fm = QFontMetrics(ft2); //参数是一个font对象
qDebug()<<fm.averageCharWidth(); //返回字体中字形的平均宽度。
qDebug()<<fm.boundingRect(“c”); //如果要在坐标系原点绘制字符ch,则返回墨迹覆盖的矩形。
//边界矩形可能会延伸到(0,0)的左侧(比如对于斜体字体)
QRect rc = fm.boundingRect(“hello world”); //返回由文本指定的字符串中字符的边界矩形。
//如果在(0,0)处绘制,边框始终至少覆盖文本将覆盖的像素集。
qDebug()<<fm.capHeight(); //返回字体的大写高度。
qDebug()<<fm.descent(); //返回字体的下降距离。下降距离是从基线到字符延伸到的最低点的距离。
qDebug()<<fm.ascent(); //返回字体的上升距离。上升距离是从基线到字符延伸到的最高点的距离。
qDebug()<<fm.averageCharWidth(); //返回字体中字形的平均宽度。
qDebug()<<fm.elidedText(“过于宽的文本内容,超过hello world”,Qt::ElideRight,100);
//如果字符串文本宽度大于宽度,则返回该字符串的省略版本
//参数2确定省略号的位置Qt::ElideLeft 左边,Qt::ElideRight右边,Qt::ElideMiddle中间
//Qt::ElideNone 不显示
qDebug()<<fm.height(); //返回字体的高度
qDebug()<<fm.horizontalAdvance(“hello”, 0); //返回参数1中的第参数2个字符的水平进位(px)
qDebug()<<fm.inFont(‘c’); //如果参数所示字符是该字体中可以显示的字符,则返回true
qDebug()<<fm.leading(); //返回字体的前导字符。 这是自然的行距。
qDebug()<<fm.lineSpacing(); //返回从一条基线到下一条基线的距离。
qDebug()<<fm.lineWidth(); //返回下划线和删除线的宽度,根据字体的点大小进行调整。
qDebug()<<fm.maxWidth(); //返回字体中最宽字符的宽度。
qDebug()<<fm.overlinePos(); //返回从基线到应绘制上划线的位置的距离。
qDebug()<<fm.size(Qt::TextWordWrap,“test str”); //返回文本的大小(以像素为单位)。
//参数1设置文本格式
//Qt::TextWordWrap 忽略换行符。
qDebug()<<fm.strikeOutPos(); //返回从基线到删除线应绘制位置的距离。
qDebug()<<fm.underlinePos(); //返回从基线到应绘制下划线的位置的距离。

}

MainWindow::~MainWindow()
{
delete ui;
}

20221027_090305

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值