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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QScrollArea прокрутка мышью  (Прочитано 4069 раз)
NKovalev64
Гость
« : Февраль 06, 2013, 13:59 »

На форме есть виджет QscrollArea. Как задать ему прокрутку не скролбарами, а так чтобы можно было зажать мышкой область виджета и "тащить" её.
Записан
Bepec
Гость
« Ответ #1 : Февраль 06, 2013, 14:26 »

Отлавливать евенты мыши?
Записан
NKovalev64
Гость
« Ответ #2 : Февраль 06, 2013, 14:33 »

Отлавливать евенты мыши?
Подробнее можно?
Записан
Bepec
Гость
« Ответ #3 : Февраль 06, 2013, 14:41 »

Не могу не отозваться на такую вежливую и редкую просьбу.

Есть у виджетов методы
Код:
virtual void	mouseMoveEvent ( QMouseEvent * event )
virtual void mousePressEvent ( QMouseEvent * event )
virtual void mouseReleaseEvent ( QMouseEvent * event )

Соответственно переопределяешь их в наследнике от QWidget (QScrollArea тоже является наследником Улыбающийся ).

move - получаешь когда мышка двигается при зажатой клавише.
Press/Release - нажатие и отжатие клавиши мышки.

Данные о месторасположении и нажатых клавишах ты можешь получить в QMouseEvent * event.

Соответственно технология

осторожно, псевдокод:
/*
Получаем нажатие правой кнопки, запоминаем координаты в переменной

Пользователь двигает мышку, мы получаем евент move

Смотрим там координаты, вычитаем их от переменной. Двигаем ScrollArea на необходимую величину (какую решай сам)

Пользователь отжимает мышку - очищаем переменную.
*/
Записан
NKovalev64
Гость
« Ответ #4 : Февраль 06, 2013, 16:15 »

Спасибо большое!
Записан
Bepec
Гость
« Ответ #5 : Февраль 06, 2013, 16:26 »

На здоровье. Ответить на адекватную просьбу - тоже удовольствие Улыбающийся

Если всё понятно - добавьте к названию темы [РЕШЕНО] Улыбающийся

PS если нужна будет консультация - дарую вам однократное право вызова меня в ЛС и призыв меня в скайп/аську Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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