Qt如何绘制(六)
QPainter是个多才多艺的家伙,除了会画画还会写字。而且写字的姿势还挺多。
这么多函数,看得人眼花缭乱。不过仔细观察一下会发现很多参数都是重复的。
text: 就是要写的文字。
position: 指定写的文字的位置。(x,y)同理。
rectangle:指定写的文字的矩形区域,这个和绘制图片的矩形不一样,它不会根据矩形缩放文字。(x,y,width,height)同理。
flag:指定绘制的标志,如左对齐、右对齐、居中等等。
boundingRect:指的是绘制的文字实际占用的矩形区域。是个返回值。
option: 描述了文字,例如对齐方式、文字方向等。
例:
例子指定在矩形(50,80,60,30)中以居中的位置绘制“这是文本”几个字。接着又绘制了这个矩形以及函数返回给我们的实际占用区域。可以看出文字没有占满指定矩形范围。实际上文字的大小取决于字体QFont。
我们设置字体看看效果:
文字字体设置太大已经超出了指定的绘制范围了。超出的部分则不会被绘制。
QPainter绘制文字除了指定绘制区域外,还可以指定位置进行绘制。这种方式不需要设置多余的参数,缺点就是使用时不太好控制。
例:
例子中除了绘制文本外,我们还这个位置用红点描出来了,可以看出所谓的位置指的是文本左下角的位置。
相关文章: