如何在drawText中更改字体大小?

14
QString str = QString::number((double)i, 'd', 1);
painter->drawText(100 + i * 800/9 - 6, 910, 40, 40, 0, str );

我想要将字体大小增加到当前的两倍?

3个回答

29
你可以尝试像这样做(我还没有编译代码来查看它是否有效!):
QFont font = painter->font() ;

/* twice the size than the current font size */
font.setPointSize(font.pointSize() * 2);

/* set the modified font to the painter */
painter->setFont(font);

/* draw text etc. */
painter.drawText(....);

好的,回到2013年它是getPointSize :D - Iosif Murariu

6
我知道了:
QFont font;
font.setPixelSize(12);

for(int i = 0; i < 10; i++){
    painter->drawLine(100, 100 + i * 800/9, 900, 100 + i * 800/9);
    str = QString::number((double)9 - i, 'd', 1);
    painter->setFont(font);
    painter->drawText(75, 100 + i * 800/9 - 6, 40, 40, 1, str);
}

3
如果你使用的字体与默认字体不同,它可能会重置字体而不仅仅是修改字体大小。 - Iosif Murariu

3

这是最简单的方法。

painter.setFont(QFont("times",22)); //22 is a number which you have to change

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接