crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Artem
  опции профиля:
сообщение 29.1.2013, 13:36
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 27.1.2013
Пользователь №: 3688

Спасибо сказали: 0 раз(а)




Репутация:   0  


Привет всем.

есть "форма" QLabel с картинкой загруженной в ней
создаю поверх еще один с маленькой картинкой

 Изображение уменьшено
Прикрепленное изображение
79 x 143 (9.98 килобайт)


Хочу сделать чтобы при наведение либо изменялся размер либо менялась сама картинка
При клике чтобы проходил другой процесс (открытие настроек).

Не могу понять как с помощью слотов организовать.
Есть только один исполняемый файл main.cpp
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ilyabvt
  опции профиля:
сообщение 29.1.2013, 17:58
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Прошу прощения переопредлять в данном случае надо enterEvent и leaveEvent.
Примерно как это должно выглядеть:
//MyLabel.h
class MyLabel: public QLabel {

private:
   void enterEvent ( QEvent * event );
   void leaveEvent ( QEvent * event );
};

//MyLabel.cpp
void MyLabel::enterEvent ( QEvent * event )
{
   //тут пишем что должно происходить при наведении мышки
}
void MyLabel::leaveEvent ( QEvent * event )
{
   //тут пишем что должно происходить при покидании курсором пределов виджета.
}

Потом где надо объявляем в коде объекты типа 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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.5.2025, 2:24