Russian Qt Forum
Ноябрь 23, 2024, 05:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QML ListView + Mouse [РЕШЕНО]  (Прочитано 8661 раз)
meego_man
Гость
« : Февраль 24, 2011, 15:19 »

всем доброго времени суток. У меня возникла проблема (или вопрос). Использую ListView в своем проекте для отображения данных. Причем необходимо чтобы текущий элемент подсвечивался. С помощью клавиатуры текущий элемент изменяется, а вот при щелчках мыши нет (неважно на каком элементе щелкнул). Пробовал примеры из Declarative, та же ситуация. Может кто сталкивался и уже решил такую проблему? заранее спасибо
« Последнее редактирование: Февраль 24, 2011, 16:16 от meego_man » Записан
meego_man
Гость
« Ответ #1 : Февраль 24, 2011, 16:18 »

Решил путем добавления MouseArea в ListView и определения действия на клик
Код:
onClicked: {myListsView.currentIndex = myListsView.indexAt (mouseX, mouseY)
Записан
meego_man
Гость
« Ответ #2 : Февраль 25, 2011, 18:17 »

Предыдущий вариан работал не лучшим образом. Новый лучше. Добавляем MouseArea в делегат пунктов списка и пишем нечто вроде:
Код:
MouseArea {
   anchors.fill: parent;
   onPressed: {
     myListView.currentIndex = index;
   }
}
теперь все работает правильно Улыбающийся Заголовки (если есть) пропускаются
Записан
BlackSoul
Гость
« Ответ #3 : Май 18, 2012, 13:37 »

В первом варианте не будет работать в случае, если несколько элементов скрыто сверху( т.е. список прокручен ).

Второй вариант работает отлично. Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 21.