绘画在qgraphics场景在qt

Painting in QGraphicsScene in qt

本文关键字:qt qgraphics 绘画      更新时间:2023-10-16

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

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

可以看到,上面没有定义该项。如何创建一个相同的项目,使其在场景中绘制?

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

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