C++ 判断QGraphicsItem是否添加
时间: 2023-12-03 21:02:20 浏览: 71
在Qt中,可以使用`QGraphicsScene`的`items()`方法获取场景中所有的图形项,然后遍历判断某个图形项是否添加到场景中。
具体代码如下:
```c++
QGraphicsItem *item = ...; // 待判断的图形项
QGraphicsScene *scene = ...; // 场景
bool isAdded = false;
foreach (QGraphicsItem *i, scene->items()) {
if (i == item) {
isAdded = true;
break;
}
}
if (isAdded) {
qDebug() << "The item is added to the scene.";
} else {
qDebug() << "The item is not added to the scene.";
}
```
另外,也可以使用`QGraphicsItem`的`scene()`方法判断一个图形项是否已经添加到场景中。如果返回值不为`nullptr`,则说明该图形项已经添加到了场景中。代码如下:
```c++
QGraphicsItem *item = ...; // 待判断的图形项
if (item->scene() != nullptr) {
qDebug() << "The item is added to the scene.";
} else {
qDebug() << "The item is not added to the scene.";
}
```
阅读全文