// 使用方块组中的每一个小方块来进行判断 bool BoxGroup::isColliding() { QList<QGraphicsItem *> itemList = childItems(); QGraphicsItem *item; foreach (item, itemList) { if(item->collidingItems().count() > 1) return true; } return false; }
void MainWindow::sendToBack() { if (scene->selectedItems().isEmpty()) return; QGraphicsItem *selectedItem = scene->selectedItems().first(); QList<QGraphicsItem *> overlapItems = selectedItem->collidingItems(); qreal zValue = 0; foreach (QGraphicsItem *item, overlapItems) { if (item->zValue() <= zValue && item->type() == JointItem::Type) zValue = item->zValue() - 0.1; } selectedItem->setZValue(zValue); }