crossplatform.ru

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

> Не работает setMouseTracking()
NordWest
  опции профиля:
сообщение 19.4.2009, 17:59
Сообщение #1


Студент
*

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

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




Репутация:   0  


Нужно, чтобы в программе при движении мыши вызывался:
void MainWindow::mouseMoveEvent(QMouseEvent *event);


В конструкторе класса вызываю
this->setMouseTracking(true);


Но событие по прежнему ловится только при нажатой кнопке. Если у центрального виджета вызвать этот же метод - ситуация та же. Что не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
NordWest
  опции профиля:
сообщение 19.4.2009, 21:08
Сообщение #2


Студент
*

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

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




Репутация:   0  


Цитата(SABROG @ 19.4.2009, 21:27) *
QMainWindow::mouseMoveEvent сделать accept и событие дальше не пойдет.


Это как? accept()?

Цитата(NordWest @ 19.4.2009, 21:38) *
Проще переопределить mouseMoveEvent у QMainWindow вместо того, чтобы вызывать installEventFilter у центрального виджета или создавать свой центральный виджет. Но в принципе будет правильным это сдела


У меня eventFilter определены так:
imgLabel->installEventFilter(this);
   this->installEventFilter(this);


imgLabel - это центральный виджет, наследник от QLabel

===================================

Заработало.
В общем надо было в QMainWindow:

MainWindow::MainWindow()
{
    setMouseTracking(true);
    centralWidget()->setMouseTracking(true);
}


И в конструкторе центрального виджета:
setMouseTracking(true);


И всё. Спасибо за помощь!

Сообщение отредактировал NordWest - 19.4.2009, 20:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 27.12.2024, 6:11