Мне нужно получить ограничивающую рамку (в пространстве сцены) QGraphicsItem
с установленным флагом QGraphicsItem::ItemIgnoresTransformations
.
Согласно документам, вам нужно использовать QGraphicsItem :: deviceTransform () , чтобы сделать это. Я попробовал это:
// Get the viewport => scene transform
vp_trans = view.viewportTransform();
// Get the item => viewport transform
trans = item.deviceTransform(vp_trans);
// Get the item's bounding box in item's space
bbox = item.boundingRect();
// Map it to viewport space
bbox = trans.mapRect(bbox);
// Map it back to scene's space
bbox = vp_trans.mapRect(bbox);
Но что-то не так, ограничивающие рамки кажутся меньше и справа от предметов ...