在QGraphicsView上自定义绘画

时间:2016-06-01 20:08:29

标签: c++ qt5

我想在QGraphicsView上放一些包含有关场景信息的文字。

所以我继承自QGraphicsView然后我已经覆盖了paintEvent并在那里做了我的绘画。

看起来很好然而很快我才意识到我的图纸只有在附近有物品移动时才会更新。所以我想到的是有一些裁剪,但我无法找到它的设置位置,我怎么能遵守它。

我的绘画程序:

void ObjectsView::paintEvent(QPaintEvent* event)
{
    QGraphicsView::paintEvent(event);

    const int fps = m_controller->fps();
    const QString info = QString(tr("Information about simulation: FPS: %1"))
                         .arg(fps);

    QPainter painter(viewport());
    const QRect infoRect = painter.boundingRect(QRect(), 0, info);

    painter.setPen(Qt::black);
    painter.drawText(infoRect.bottomLeft(), info);
    painter.drawLine(QPoint(), viewport()->rect().bottomRight());
}

0 个答案:

没有答案