Russian Qt Forum
Май 03, 2024, 07:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: разбор проекта diagramscene(itemChange)  (Прочитано 2211 раз)
_Vitaliy_
Гость
« : Август 15, 2011, 12:50 »

Берем проект diagramscene из примеров, поставляемый с Qt.
В diagramitem.срр находим функцию
Код:
QVariant DiagramItem::itemChange(GraphicsItemChange change,
                     const QVariant &value)
"ремим" все что в ней есть и согласно помощи в одной из веток форума http://www.prog.org.ru/topic_4008_0.html вставляем:
Код:
if (change == ItemPositionChange) {
             // value это новое положение.
             QPointF newPos = value.toPointF();
             newPos.setX(x());
             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); 
однако ограничение перемещения по оси Х не происходит !!!???
З.Ы. может вопрос и тривиальный но у меня вызвал затруднение.
Записан
_Vitaliy_
Гость
« Ответ #1 : Август 16, 2011, 06:57 »

или хотя бы ткните в каком направлении двигаться...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.