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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqrollArea onClick  (Прочитано 2600 раз)
negative
Гость
« : Март 06, 2009, 15:52 »

Я тут начал разбираться с QT и обнаружил, что по умолчанию слот приуроченный к клику мыши есть только у потомков QAbstractButton. Что совершенно не радует.

Передо мной стоит задача - отслеживать клики по QSqrollArea (я ее в дальнейшем собираюсь перетаскивать мышкой). И в общем не очень понятно как это сделать. Делать двойное наследование от QSqrollArea и QAbstractButton, думаю, не выход. Я тут почитал про слоты\сигналы, но как-то так и не понял, как же реализовать вышеописанное отслеживание.

Можно небольшой примерчик кода, обрабатывающий клик объекта, отличного от кнопки?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Март 06, 2009, 16:19 »

Я тут начал разбираться с QT и обнаружил, что по умолчанию слот приуроченный к клику мыши есть только у потомков QAbstractButton. Что совершенно не радует.

слот сигнал

Передо мной стоит задача - отслеживать клики по QSqrollArea (я ее в дальнейшем собираюсь перетаскивать мышкой). И в общем не очень понятно как это сделать. Делать двойное наследование от QSqrollArea и QAbstractButton, думаю, не выход. Я тут почитал про слоты\сигналы, но как-то так и не понял, как же реализовать вышеописанное отслеживание.

Наследуемся от QScrollArea и переопределяем нужный нам метод:

Код
C++ (Qt)
void QAbstractScrollArea::mouseDoubleClickEvent ( QMouseEvent * e )
void QAbstractScrollArea::mouseMoveEvent ( QMouseEvent * e )
void QAbstractScrollArea::mousePressEvent ( QMouseEvent * e )
void QAbstractScrollArea::mouseReleaseEvent ( QMouseEvent * e )
« Последнее редактирование: Март 06, 2009, 16:44 от pastor » Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
negative
Гость
« Ответ #2 : Март 06, 2009, 16:22 »

Урааа!) Смеющийся Смеющийся Смеющийся Спасибо большое)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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