Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2009 16:20:43

offline
От:
Зарегистрирован: 2007-04-24
Сообщения: 121
Репутация: +  0  -
Профиль   Отправить e-mail  

Растягивание элементов

С помощью каких ухищрений в QT можно нарисовать квадратик определённого размера внутри окна, а потом сделать так чтоб схватив его мышкой за край растянуть на сколько угодно? В какие классы глядеть или в теории хотя бы как это должно работать?



Офлайн

#2 Март 17, 2009 00:18:32

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Растягивание элементов

Написать обработчики событий нажатия и перемещения мышки. При нажатии сохраняешь куда-то координаты положения курсора, а при перемещении (когда нажата кнопка) - вычисляешь дельту координат (текущей и сохранённой) и прибавляешь её к размерам квадратика. Не спутай тока локальные, относительные и глобальные координаты курсора относительно виджета, его родителя и дисплея. Это не только в Qt работает, так можно везде делать.

З.Ы. Готовых классов для этого нет:) Гляди http://doc.trolltech.com/4.5/qmouseevent.html



Офлайн

#3 Март 17, 2009 07:17:23

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

Растягивание элементов

А я на нажатие активирую процес… На отпускание оканчиваю. А на движение мышки прибавляю смещение курсора к координатам обьекта.



Офлайн

#4 Апрель 3, 2009 00:43:44

qwer
От:
Зарегистрирован: 2009-03-30
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Растягивание элементов

З.Ы. Готовых классов для этого нет
есть - QGraphicsView, QGraphicsItem : http://doc.trolltech.com/4.3/graphicsview.html



Офлайн

#5 Апрель 3, 2009 09:52:34

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Растягивание элементов

2qwer: нету! за край в Qt ничего не растягивается, а для рисования можно и нужно конечно использовать QGraphicsView.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version