QPainter :: setPen:画家不活跃

时间:2019-04-27 15:23:17

标签: qt

我想在label中绘制覆盖QMainWindow对象的矩形。以下是我在QMainWindow的构造函数中的代码:

QPainter painter(this);
int x = ui->label->geometry().x();
int y = ui->label->geometry().y();
int w = ui->label->geometry().width();
int h = ui->label->geometry().height();
painter.setPen(QPen(Qt::blue,2.5));
painter.drawRect(QRect(x,y,w,h));

然后显示QWidget::paintEngine: Should no longer be calledQPainter::setPen: Painter not active。这是使用QPainter的错误方法吗?那么如何纠正以上代码?

1 个答案:

答案 0 :(得分:0)

我在这里How to QPainter inside QLabel找到了答案。 QPainter应该在paintEvent中工作。