Всем привет !
В книге Жасмин Бланшет, Марк Саммерфилд "Qt 4: программирование GUI на C++ " издание второе есть пример в котором
используется itemChange....
В Qt 4.5: Описание класса QGraphicsItem | Документация... есть вот такой пример...
QVariant Component::itemChange(GraphicsItemChange change, const QVariant &value)
{
if (change == ItemPositionChange && scene()) {
// value это новое положение.
QPointF newPos = value.toPointF();
QRectF rect = scene()->sceneRect();
if (!rect.contains(newPos)) {
// Сохраняем элемент внутри прямоугольника сцены.
newPos.setX(qMin(rect.right(), qMax(newPos.x(), rect.left())));
newPos.setY(qMin(rect.bottom(), qMax(newPos.y(), rect.top())));
return newPos;
}
}
return QGraphicsItem::itemChange(change, value);
}
почему в XP все работает правильно... а в win7 нет...?