QVariant UBGraphicsCurtainItemDelegate::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) { if (change == QGraphicsItem::ItemZValueHasChanged) { // mFrame->setZValue(mDelegated->zValue() + 1); // foreach(DelegateButton* button, mButtons) // { // button->setZValue(mDelegated->zValue() + 2); // button->setZValue(mDelegated->zValue() + 2); // } } if (change == QGraphicsItem::ItemVisibleHasChanged) { UBGraphicsScene* ubScene = qobject_cast<UBGraphicsScene*>(mDelegated->scene()); if(ubScene) ubScene->setModified(true); } return UBGraphicsItemDelegate::itemChange(change, value); }