crossplatform.ru

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

> Как отловить наведение мышки на item QListWidget'a?
RazrFalcon
  опции профиля:
сообщение 4.8.2011, 5:15
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Нужно отловить сигнал, который бы испускался при наведении мыши на итем листа.

Нашел только:
itemEntered(QListWidgetItem*)

Пробовал так:
//конструктор
{
...
listWidget->viewport()->setMouseTracking(true);
connect(listWidget,SIGNAL(itemEntered(QListWidgetItem*)),this,SLOT(itemEntered(QListWidgetItem*)));
...
}

void MainWindow::itemEntered(QListWidgetItem* index)
{
  qDebug()<<listWidget->row(index);
}

Ничего. Срабатывает только при скролинге колесиком мыши.

Так же пробовал mouseMoveEvent() у итемов, но я не пойму как понять что мышка вышла за пределы итема.

То есть мне нужен сигнал на наведение мышкой на итем, затем, когда мы мышку убрали, появляется новый сигнал, мол убрали.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
RazrFalcon
  опции профиля:
сообщение 4.8.2011, 15:08
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Ну если я правильно понял...
Я сделал наследника QListWidget, затем в нем предопределил mouseMoveEvent, включил setMouseTracking(true);.
Но позиция в консоль выводится только при нажатии мыши.
void MyListWidget::mouseMoveEvent(QMouseEvent *e)
{
  e->accept();
  qDebug()<<e->pos();
}

При том что enterEvent срабатывает отлично.


Сделал через enter и leave эвенты. Работает так как надо. Но хотелось бы понять и то что выше.

Сообщение отредактировал RazrFalcon - 4.8.2011, 15:10
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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