Название: QListView координаты мыши при клике на элемент Отправлено: Leviathan от Сентябрь 27, 2010, 21:23 Привет всем!
Имеется QListView в котором делегат рисует элементы списка. Как сделать так что бы при клике на элемент списка срабатывала функция, которая бы принимала координаты мыши? Вариант со своим editor'ом который бы отображался всегда для всех элементов не подойдет, т.к. элементов тысячи, и скорость очень важна. Конечная цель - нарисовать пару маленьких прямоугольников прямо в элементе списка при нажатии на которые, срабатывали бы соответствующие события. Название: Re: QListView координаты мыши при клике на элемент Отправлено: crossly от Сентябрь 27, 2010, 21:48 mousePressEvent
Название: Re: QListView координаты мыши при клике на элемент Отправлено: Leviathan от Сентябрь 27, 2010, 22:15 Ок, это все некрасиво получается, если mousePressEvent ловить у самого QListView
Название: Re: QListView координаты мыши при клике на элемент Отправлено: Leviathan от Сентябрь 28, 2010, 18:51 значит ответа нет...
Название: Re: QListView координаты мыши при клике на элемент Отправлено: MoPDoBoPoT от Сентябрь 28, 2010, 20:57 Ок, это все некрасиво получается, если mousePressEvent ловить у самого QListView Вообще-то еще есть installEventFilter().Можно еще соединить сигнал QAbstractItemView::clicked(QModelIndex &) со слотом в котором координаты мыши получить через QCursor::pos() Название: Re: QListView координаты мыши при клике на элемент Отправлено: crossly от Сентябрь 28, 2010, 21:47 вполне возможно что пока дойдет до слота курсора в нужно месте уже не будет...
Название: Re: QListView координаты мыши при клике на элемент Отправлено: Leviathan от Сентябрь 28, 2010, 22:35 Вообще-то еще есть installEventFilter(). Можно еще соединить сигнал QAbstractItemView::clicked(QModelIndex &) со слотом в котором координаты мыши получить через QCursor::pos() Проблема в том что нужно определить координаты относительно самого элемента списка, расчитывать их магией очень сложно, и будет очень криво. Единственное что пока удалось, так это определить в каком конкретно элементе происходит клик: Код: void MyListView::mouseClickEvent(QMouseEvent *event) Название: Re: QListView координаты мыши при клике на элемент Отправлено: Kolobok от Сентябрь 29, 2010, 09:31 Это ты QAbstractItemView::clicked( const QModelIndex & index ) изобрел.
|