在qt中的QGraphicsScene中绘画

时间:2014-07-08 06:59:15

标签: c++ qt qgraphicsscene qpainter

我想在QGraphicsScene画一条线。我知道如何在场景中添加项目,但不知道如何在场景中添加使用画家绘制的项目。以下是我试图实现的代码:

void MainWindow::drawLine(){
    painter->drawLine(100,10,200,20);
    item = ??
    scene->addItem(item);
    ui->graphicsView->setScene(scene);
    qDebug() << "Line Created";
}

如您所见,该项目未在上面定义。如何创建一个项目,以便在场景中绘制它?

1 个答案:

答案 0 :(得分:2)

您应该从QGraphicsItem继承并覆盖paint方法。我找到了一个很好的教程:tutorial.

请记住,在您继承的项目中,您必须至少实现两个纯虚拟方法paintboundingRect。通过查看QGraphicsItem的文档,您可以看到这些功能是纯虚拟的:QGraphicsItem.