Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Олег от Ноябрь 20, 2011, 16:48



Название: Перетаскивание по сцене с зажатым Alt
Отправлено: Олег от Ноябрь 20, 2011, 16:48
Возник вопрос.
Ситуация: Имеется сцена, на ней графические элементы. При перетаскивании элемента вызывается переопределенный метод mouseMoveEvent. Необходимо определить, перетаскивает ли пользователь элемент просто с помощью мыши, или в добавок с зажатым Alt. Это нужно для реализации копирования элемента (если Alt зажат).
Можно ли определить, нажата ли конкретная кнопка на клавиатуре непосредственно в методе mouseMoveEvent? Или это достигается другим путем?


Название: Re: Перетаскивание по сцене с зажатым Alt
Отправлено: BRE от Ноябрь 20, 2011, 16:51
Qt::KeyboardModifiers   modifiers () const


Название: Re: Перетаскивание по сцене с зажатым Alt
Отправлено: Олег от Ноябрь 20, 2011, 17:02
Qt::KeyboardModifiers   modifiers () const


Большое спасибо, работает!


Название: Re: Перетаскивание по сцене с зажатым Alt
Отправлено: Олег от Ноябрь 20, 2011, 17:23
А можно ли программно отключить нажатый alt? Т.е. пользователь начинает перетаскивать элемент с нажатой кнопкой, он копируется, начинается перетаскивание копии, но т.к. alt все еще нажат, то копируется копия, начинается перетаскивание копии копии итд... Если после первого копирования alt отключить, то все будет ок) но как это сделать?


Название: Re: Перетаскивание по сцене с зажатым Alt
Отправлено: Igors от Ноябрь 20, 2011, 17:38
А можно ли программно отключить нажатый alt? Т.е. пользователь начинает перетаскивать элемент с нажатой кнопкой, он копируется, начинается перетаскивание копии, но т.к. alt все еще нажат, то копируется копия, начинается перетаскивание копии копии итд... Если после первого копирования alt отключить, то все будет ок) но как это сделать?
Частенько лучше задать себе вопрос "а как люди делают"? Напр представим себе предложенная Вами схема была бы (упаси бог) реализована для копирования файлов drag'n drop  - сколько же раз "копируется копия"?  :)


Название: Re: Перетаскивание по сцене с зажатым Alt
Отправлено: Олег от Ноябрь 20, 2011, 17:41
А можно ли программно отключить нажатый alt? Т.е. пользователь начинает перетаскивать элемент с нажатой кнопкой, он копируется, начинается перетаскивание копии, но т.к. alt все еще нажат, то копируется копия, начинается перетаскивание копии копии итд... Если после первого копирования alt отключить, то все будет ок) но как это сделать?
Частенько лучше задать себе вопрос "а как люди делают"? Напр представим себе предложенная Вами схема была бы (упаси бог) реализована для копирования файлов drag'n drop  - сколько же раз "копируется копия"?  :)

Ну вопрос и заключается в том, как сделать правильно?