我想在QGraphicsScene
画一条线。我知道如何在场景中添加项目,但不知道如何在场景中添加使用画家绘制的项目。以下是我试图实现的代码:
void MainWindow::drawLine(){
painter->drawLine(100,10,200,20);
item = ??
scene->addItem(item);
ui->graphicsView->setScene(scene);
qDebug() << "Line Created";
}
如您所见,该项目未在上面定义。如何创建一个项目,以便在场景中绘制它?
答案 0 :(得分:2)
您应该从QGraphicsItem
继承并覆盖paint
方法。我找到了一个很好的教程:tutorial.
请记住,在您继承的项目中,您必须至少实现两个纯虚拟方法paint
和boundingRect
。通过查看QGraphicsItem
的文档,您可以看到这些功能是纯虚拟的:QGraphicsItem.