LINUX.ORG.RU

[Qt4] Рисование и перемещение своих каляк-маляк.


0

0

На свой виджет можно повесить флаг ItemIsMovable и добавить эвенты нажатия и отпущания мышью. Становится возможным двигать объект куда угодно. А как ограничить его перемещение только по вертикали или только по горизонтали?

Ответ на: комментарий от Dendy

Кажись флаг убирать не надо. Только вот где переиначивать mouseMoveEvent()

В айтеме, или в сцене-то? располагает то их в себе сцена.

amonymous
() автор топика
Ответ на: комментарий от amonymous

В самом итеме. Запоминаете его X-координату в mousePressEvent() и в mouseMoveEvent() вызываете move() и изменённой Y-координатой и прежним X. В принципе можно и в сцене, зависит от общей архитектуры.

Dendy ★★★★★
()
Ответ на: комментарий от Dendy

Сейчас попробую, только move() что-то не вижу, есть moveBy() но с ним будет слишком круто двигаться.

Архитектура вышла запутанная. Один класс рисует элемент с несколькими гранями. Другой клас выводит на экран (как-раз на гранях этого объекта) еще одни элементы, которые как-раз дожны двигаться только либо горизонтально либо вертикально. Их координаты должны передаваться граням нарисованного объекта и тот должен перерисовываться, т.е. растягиваться, сужаться, смещаться его составляющие и т.д.

Может конечно я тут слишком много лишнего нагородил, но в куте пока многого не знаю )

amonymous
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.