Russian Qt Forum
Ноябрь 27, 2024, 03:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Ответ на событие мыши.
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Ответ на событие мыши. (Прочитано 11364 раз)
¤Se®ega¤
Гость
Ответ на событие мыши.
«
:
Май 01, 2009, 14:13 »
При наведении курсора мыши на объект должно произойти изменение параметров объекта, наприер при наведении на Qlabel-появяется рамка( setFrameShadow(QFrame::Plain) ).Как это реализовать? Использовать mouseMoveEvent(QMouseEvent)? setMouseTracking(TRUE) уже установил.
«
Последнее редактирование: Май 01, 2009, 18:47 от ¤Se®ega¤
»
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Ответ насобытие мыши.
«
Ответ #1 :
Май 01, 2009, 14:30 »
Да. Переопределить mouseMoveEvent(QMouseEvent) и в нем проводить действие.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #2 :
Май 01, 2009, 14:39 »
Так как мне переопределить это событие только для объектов класса QLabel?У меня на форме много разных обектов, кроме label.Как именно мне отловить перемещение над label я не понимаю
«
Последнее редактирование: Май 01, 2009, 14:41 от ¤Se®ega¤
»
Записан
gueRRero
Гость
Re: Ответ насобытие мыши.
«
Ответ #3 :
Май 01, 2009, 15:23 »
Как вариант, создать свой класс, унаследованный от QLabel, в нем переопределить соответствующие события и на форме использовать именно его.
Может быть, можно и как-то по-другому.
Записан
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #4 :
Май 01, 2009, 15:41 »
допустим я так сделаю, а не будет ли так, что я добавлю несколько объектов этого класса на форму и при наведении у них у ВСЕХ будут меняться параметры сразу?
Записан
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #5 :
Май 01, 2009, 15:48 »
Можно сделать еще с фильтром, но там придется писать для каждого компонента.
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Ответ насобытие мыши.
«
Ответ #6 :
Май 01, 2009, 16:16 »
>>я добавлю несколько объектов этого класса на форму и при наведении у них у ВСЕХ будут меняться параметры сразу?
Это из области С++
каждый объект - экземпляр класса - будет сам по себе.
Записан
Юра.
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #7 :
Май 01, 2009, 16:54 »
Да, спасибо,я уже понял, это я с фильтром думал.
Записан
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #8 :
Май 01, 2009, 18:03 »
Еще не подскажете?Я при навдении курсора делаю рамку у Label,после того как курсор вышел за пределы Label рамка, естественно остается.Как лучше от неё избавиться?Фильтр,таймер, переопределение mousemove на родительском виджете(но тут надо будет изменять состояние для всех унаследованных от Label класса объектов),по координатам мыши (пару-тройку пикселей по краям Label? при попадании на которые рамка будет исчезать), может еще что?
Записан
gueRRero
Гость
Re: Ответ насобытие мыши.
«
Ответ #9 :
Май 01, 2009, 18:38 »
Если не ошибаюсь, void QWidget::leaveEvent(QEvent* event) должно помочь.
Записан
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #10 :
Май 01, 2009, 18:40 »
Тогда может вообще сделать не через mouseMove, а через enterEvent и leaveEvent?
Записан
gueRRero
Гость
Re: Ответ насобытие мыши.
«
Ответ #11 :
Май 01, 2009, 18:41 »
Да, я думаю, что так будет и логичнее и проще.
Записан
¤Se®ega¤
Гость
Re: Ответ насобытие мыши.
«
Ответ #12 :
Май 01, 2009, 18:46 »
Уже сделал.Спасибо.А что касательно загрузки изображения в Label, это не хуче чем использование QImage и QPixmap? или всеже лучше грузить через QImage и QPixmap?
Записан
gueRRero
Гость
Re: Ответ на событие мыши.
«
Ответ #13 :
Май 01, 2009, 18:53 »
Вот это лучше спросить у наших гуру. Я думаю, что это не принципиально, ибо все равно в QLabel картинка ставится через setPixmap.
Записан
¤Se®ega¤
Гость
Re: Ответ на событие мыши.
«
Ответ #14 :
Май 01, 2009, 18:56 »
Ну я предполагаю что если добавить кнопку, на которую через setIcon так-же добавить картитнку, будет грузиться таким же образом, но от такого рода отображения картинок мой руководитель отказался.
«
Последнее редактирование: Май 02, 2009, 10:55 от ¤Se®ega¤
»
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...