Слоты или как-то иначе |
Здравствуйте, гость ( Вход | Регистрация )
Слоты или как-то иначе |
Artem |
29.1.2013, 13:36
Сообщение
#1
|
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.1.2013 Пользователь №: 3688 Спасибо сказали: 0 раз(а) Репутация: 0 |
Привет всем.
есть "форма" QLabel с картинкой загруженной в ней создаю поверх еще один с маленькой картинкой Хочу сделать чтобы при наведение либо изменялся размер либо менялась сама картинка При клике чтобы проходил другой процесс (открытие настроек). Не могу понять как с помощью слотов организовать. Есть только один исполняемый файл main.cpp |
|
|
||
Artem |
29.1.2013, 16:14
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.1.2013 Пользователь №: 3688 Спасибо сказали: 0 раз(а) Репутация: 0 |
В Делфи были процедуры специальные по MouseMove и так далее. А в Qt есть что-то такое или как???
Помогите |
|
|
ilyabvt |
29.1.2013, 16:49
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Есть. Вам нужно переопределить mouseMoveEvent .
Рекомендую обратить внимание на фразу: "If mouse tracking is switched off, mouse move events only occur if a mouse button is pressed while the mouse is being moved. If mouse tracking is switched on, mouse move events occur even if no mouse button is pressed.". http://qt-project.org/doc/qt-4.8/qwidget.h...seTracking-prop |
|
|
Artem |
29.1.2013, 16:55
Сообщение
#4
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.1.2013 Пользователь №: 3688 Спасибо сказали: 0 раз(а) Репутация: 0 |
Только начал изучать английский. Ужасно, когда понимаешь, что его не знание приводит к долгим поискам и потери кучи времени
|
|
|
Artem |
29.1.2013, 17:37
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.1.2013 Пользователь №: 3688 Спасибо сказали: 0 раз(а) Репутация: 0 |
а примеры использования где можно глянуть. Все что я видел мне не подходит
|
|
|
ilyabvt |
29.1.2013, 17:58
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Прошу прощения переопредлять в данном случае надо enterEvent и leaveEvent.
Примерно как это должно выглядеть:
Потом где надо объявляем в коде объекты типа MyLabel и используем их. Если не хочется наследоваться, можно поставить eventFilter. Примеры и объяснение (правда на английском) http://qt-project.org/doc/qt-4.8/eventsand...l#event-filters и http://qt-project.org/doc/qt-4.8/qobject.h...tallEventFilter P.S. По поводу предыдущего поста, там сказано что Qt по умолчанию вызывает mouseMoveEvent только при нажатой клавише мыши. Сообщение отредактировал ilyabvt - 29.1.2013, 17:58 |
|
|
Artem |
29.1.2013, 18:30
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.1.2013 Пользователь №: 3688 Спасибо сказали: 0 раз(а) Репутация: 0 |
Почему переопределять именно enterEvent и leaveEvent.
А без использования класса можно как-то реализовать? |
|
|
ilyabvt |
29.1.2013, 18:53
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Цитата Почему переопределять именно enterEvent и leaveEvent. enterEvent событие когда курсор мыши входит в область виджета. leaveEvent событие когда курсор мыши покидает область виджета. Цитата Хочу сделать чтобы при наведение либо изменялся размер либо менялась сама картинка наведение это enterEvent, обратное событие (при условии конечно что вы хотите восстанавливать размер) это leaveEvent. Цитата А без использования класса можно как-то реализовать? Нет. Сообщение отредактировал ilyabvt - 29.1.2013, 19:00 |
|
|
iReset |
29.1.2013, 19:24
Сообщение
#9
|
Участник Группа: Участник Сообщений: 178 Регистрация: 6.6.2012 Пользователь №: 3414 Спасибо сказали: 23 раз(а) Репутация: 2 |
|
|
|
Litkevich Yuriy |
1.2.2013, 1:28
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
по первому сообщению не вижу нужды в таких наваротах, просто сделай кнопку с картинкой, стиль кнопки - плоский, и щёлкай на неёё сколько угодно.
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 16:45 |