如何将矩形附加到QGraphicView

时间:2017-10-17 19:09:37

标签: c++ qt drawrectangle

如何将新的矩形形状附加到systemctl restart dcos-mesos-master在此代码中,当按钮单击时创建矩形。但是当我单击按钮时,第二次先前创建的矩形已删除。我需要在单击时创建2个矩形按钮2次。当我单击按钮3次时,创建3个矩形

journalctl -fu dcos-mesos-master

1 个答案:

答案 0 :(得分:1)

使用scene = new QGraphicsScene(this);创建一个新场景并将矩形添加到其中。存在具有先前矩形的旧场景但不再显示。因此,不要创建一个新的场景,而是使用旧的场景:rect = ui->graphicsView->scene()->addRect(-10,-10,100,100,blackPen,‌​blueBrush);。这也可以避免使用new创建的内存泄漏。这是更正后的代码:

void Widget::on_btnCreateRect_clicked()
{
    //QBrush redBrush(Qt::red);
    QBrush blueBrush(Qt::blue);
    QPen blackPen(Qt::black);
    blackPen.setWidth(6);

    QRect *rect = ui->graphicsView->scene()->addRect(-10,-10,100,100,blackPen,‌​blueBrush);
    rect->setFlag(QGraphicsItem::ItemIsMovable, true);
}