Здравствуйте, гость ( Вход | Регистрация )
Rocky | Дата 24.2.2011, 15:44 |
Решение: MouseArea нужно объявлять не в самом ListView, а в делегате. И через него менять индекс модели при клике. | |
Rocky | Дата 22.2.2011, 15:49 |
Ну, боюсь тут это не поможет... | |
Dovgon | Дата 22.2.2011, 14:57 |
Используй сигнал clicked(const QModelIndex &index). | |
Rocky | Дата 22.2.2011, 14:13 |
Всем привет! Есть ListView. В нем есть много айтемов. Хочу сделать чтобы при клике мыши на элемент списка он становился активным (т.е. списку установить текущий индекс на индекс "кликнутого" айтема). Вопрос: как определить индекс айтема, по которому кликнул пользователь? Вот я пробовал так:
Но это работает, если элементы списка не "прокручены". Т.е. если айтемы помещаются в сам список так, чтобы для получения доступа к последним айтемам не нужно было проскроллить этот список - то так работает.. А иначе не работает, потому что реальное положение айтема в списке будет определяться offsetY + mouseY. А как получить этот offsetY (смещение прокрутки по вертикали) непонятно.... Или можно как-то по-другому решить проблему? Спасибо! |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.3.2024, 23:48 |