【问题标题】:Painting in QGraphicsScene in qtqt中QGraphicsScene中的绘画
【发布时间】:2014-07-08 06:59:14
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ qt qgraphicsscene qpainter


    【解决方案1】:

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

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

    【讨论】:

    • 我收到error: cannot allocate an object of abstract type 'myitem' 遵循上述教程。 @kobigurk
    • @KamalpreetGrewal 也许你还没有在派生类中完全定义继承的虚函数。
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2013-07-30
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    相关资源
    最近更新 更多