如何从QGraphicsScene中删除QWidget?

时间:2019-07-16 07:58:37

标签: c++ qt qwidget qgraphicsscene

我正在尝试完成以下任务:

(1)使用addWidget()将QPushButton添加到QGraphicsScene

(2)使用QGraphicsView显示此QGraphicsScene

(3)稍后删除该按钮(例如,当我单击它时)。

我已经完成了(1)和(2),但是我不知道该怎么做(3)。该网站上的Another question提出了类似的问题,其中一个答案表明类似以下内容:

    QPushButton* startGame = new QPushButton("Start Game");
    QGraphicsScene* scene = new QGraphicsScene;
    QGraphicsProxyWidget* proxy = scene->addWidget(startGame);

    ui->graphicsView->setScene(scene);
    ui->graphicsView->show();

    scene->removeItem(proxy);// without this everything is fine

但是我收到此错误:没有匹配的函数来调用QGraphicsScene :: removeItem(QGraphicsProxyWidget *&)'。为什么是这样?我该怎么解决?

顺便说一句,我正在使用基于Qt 5.11.1(MSVC2015,32位)的Qt Creator 4.7.0。

非常感谢您的帮助。

0 个答案:

没有答案