QT使用painter绘制文字时的居中显示

Posted AuroraMini

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT使用painter绘制文字时的居中显示相关的知识,希望对你有一定的参考价值。

在窗体上绘制文字时,在paintEvent()方法里用QPainter进行绘制。

主要获取对字符串打印在屏幕上时占用的像素大小

QPainter p(this);
QFont font("宋体",13,75);
p.setFont(font);
QString title("标题");
int widthOfTitle = p.fontMetrics().width(title);//字符串显示的像素大小
p.drawText(this->width()/2-widthOfTitle/2,100,title);

 

其中,fontMetrics().width()在QWidget里也有这个方法,但是因为设置了font,所以需要调用被设置font的对象的这个方法才能得到正确的结果

以上是关于QT使用painter绘制文字时的居中显示的主要内容,如果未能解决你的问题,请参考以下文章

QT中在QLabel中同时显示文字和图片?

Android绘制文字时垂直居中

Qt 2D绘图之三:绘制文字路径图像复合模式

QT:QProgressBar 显示文字

Canvas drawText文字垂直居中方案

Android Canvas绘制文字时的横纵向对齐