如何使用居中对齐在Qpixmap上绘制文本

时间:2015-05-04 10:59:47

标签: qt

QPainter涂料; paint.drawText(W,H,QT :: AlginCenter, “你好”);

给出错误,没有加工功能。

2 个答案:

答案 0 :(得分:4)

QPainter painter;
painter.drawText(QRect(0, 0, w, h), Qt::AlignCenter, "Hello");

答案 1 :(得分:3)

你应该在构造函数或begin函数中将QPixmap传递给QPainter:

QPixmap pixmap;
// ...

QPainter painter( &pixmap );

// OR
QPainter painter;
painter.begin( &pixmap );

然后您将选择以下其中一项:

void drawText( const QRectF& rectangle, int flags, const QString& text, QRectF* boundingRect = 0 )
void drawText( const QRect& rectangle, int flags, const QString& text, QRect* boundingRect = 0 )
void drawText( int x, int y, int width, int height, int flags, const QString& text, QRect* boundingRect = 0 )

因此,如果要定义对齐方式,则需要传递一个矩形,在该矩形中绘制文本。

您忘记定义矩形的左上角,只是将宽度和高度参数传递给绘制函数。

相关问题