Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ QListWidget: как отследить mouse leave от дочернего элемента?

Автор: aerosun 29.1.2014, 16:51

Есть два вопроса по QListWidget. Вот его настройки:

m_List->setViewMode(QListView::IconMode);
    m_List->setResizeMode(QListView::Adjust);
    m_List->setSpacing(10);
    m_List->setMouseTracking(true);
    m_List->setDragEnabled(false);
    connect(m_List, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(MouseMoveFocusChange(QListWidgetItem*)));

В MouseMoveFocusChange просто строчка item->setSelected(true);

Все элементы загружены со своими иконками.
А теперь вопросы:

1) Хотелось добиться, чтобы при прохождении мышки над элементом списка - этот элемент выделялся, а при уходе мышки выделение снималось. Первой цели удалось добиться - елемент выделяется когда на него налазит курсор. А как добиться чтобы выделение снималось, когда курсор уезжает с элемента?

2) Как словить mouse click вне елементов? (когда юзер кликает между элементами)

Автор: alexei-evil 3.2.2014, 12:33

Что-то я не понял в чем проблема. В QListWidget все это итак работает по умолчанию.

Автор: Litkevich Yuriy 3.2.2014, 14:22

Цитата(aerosun @ 29.1.2014, 18:51) *
2) Как словить mouse click вне елементов? (когда юзер кликает между элементами)
в представлении ловить или во viewport() представления.

Автор: aerosun 5.2.2014, 12:36

Оказывается Qt не предоставляет данную функциональность. Потому отнаследовался и сделал руками. Всем спасибо.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)