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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сохранение мыши в зажатом состоянии на виджете  (Прочитано 2777 раз)
ernie
Гость
« : Октябрь 28, 2010, 13:12 »

Доброго времени суток,господа.
Возникла такая ситуация,есть виджет,при зажатии мыши на котором(pressEvent+timer),происходит смена родителя этого виджета,он помещается на лайаут временного окна для перетаскивания.
Теперь собственно вопрос,если я открепляю виджет(при откреплении виджета releaseEvent соответственно не срабатывает),отжимаю кнопку,а потом начинаю перемещать виджет с зажатой кнопкой(обрабатываю mouseMoveEvent),то всё ок,но мне надо чтобы виджет откреплялся,и без отжатия кнопки тут же я мог делать перемещение.Проблема в том,что без отжатия кнопки мыши,moveEvent не обрабатывается.Как это можно реализовать?Заранее спасибо.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Октябрь 28, 2010, 13:17 »

см. bool QCoreApplication::sendEvent ( QObject * receiver, QEvent * event ) [static]
где
 receiver = открепленный виджет
 event = new QMouseEvent( QEvent::MouseButtonRelease, ... )
Записан

Qt 5.11/4.8.7 (X11/Win)
ernie
Гость
« Ответ #2 : Октябрь 28, 2010, 13:22 »

GreatSnake,пробовал,но пока не совсем понимаю какой событие посылать,releaseEvent посылать не нужно,нужно чтобы на откреплённом виджете обрабатывалось moveEvent сразу,как при нажатой кнопке
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Октябрь 28, 2010, 14:01 »

Попробуйте использовать QWidget::grabMouse()/QWidget::ungrabMouse()
Записан

Qt 5.11/4.8.7 (X11/Win)
ernie
Гость
« Ответ #4 : Октябрь 28, 2010, 14:35 »

GreatSnake,спасибо огромное!то что нужно.Только там не ungrab,а releaseMouse(),но это так,для читающих:)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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