c++ - 如果QGraphicsPixmapItem已添加到场景中,则将其删除。如果不添加到场景

标签 c++ qt

如果已将QGraphicsPixmapItem已添加到场景中,如何将其删除。如果未添加,则添加到场景。我在下面附有代码。

QGraphicsPixmapItem *linesadd;
previewScene->removeItem(linesadd); //I want to check here whether linesadd item is added or not.
linesadd = new QGraphicsPixmapItem(pixmap);
previewScene->addItem(linesadd);

最佳答案

我假设您从代码中使用QGraphicsScene。
如果您有指向linesadd的有效指针,则可以使用其他选项。

  • 您可以检查QGraphicsScene的itemAt方法
  • 您可以遍历QGraphicsScene符合您需求的items方法返回的QList。

  • 这不是您想要的,请提供有关您的问题的更多信息。

    最好的祝福

    关于c++ - 如果QGraphicsPixmapItem已添加到场景中,则将其删除。如果不添加到场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473937/

    相关文章:

    c++ - 为什么编译器不能推断返回类型?

    c++ - 将对象插入 vector 然后将 vector 插入堆时堆无效

    c++ - 在不锁定互斥锁的情况下调用 pthread_cond_signal

    c++ - QML - 不支持命令式代码

    c# - 以 C/C++ 作为后端的 WinForms 或 WPF 或 Qt for Windows GUI

    c++ - QT DOMXml - 更改节点的名称

    C++ 传递函数的问题(数学不加起来)

    C++ 类方法在其他方法之前运行

    qt - 将字符串或其他非列表/树类型绑定(bind)到 qt 小部件的简单模型(mvvm 样式)

    c++ - Qt。 QSplitter。当光标位于拆分器下方时处理双击