Название: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 14, 2012, 09:18 Доброе утро! Ребята, у меня возникла такая задача: пролистывать записи в таблице не колёсеком мыши, а как на сенсорных телефонах движением указателя мыши. Кто-нибудь подобное реализовывал?
У меня собственно только один вопрос: как поймать верхние и нижние границы таблицы при попадании указателя на них? Мне в голову пришло пока только по координатам отловить, но может есть какой-то более удобный метод? Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: Bepec от Май 14, 2012, 09:23 Если ты хочешь делать рамками(верхня/нижняя), тогда по координатам.
Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 14, 2012, 09:32 У меня возник ещё один вопрос. Я использую событие
Код: void Payment::underMouse(){ Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 14, 2012, 10:30 Сделала 2 таких события:
Код: void Payment::on_tableWidget_2_cellEntered(int row, int column) Осталось только программно прокрутить скролл, подскажите как это сделать? Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: GreatSnake от Май 14, 2012, 11:07 Код
Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 14, 2012, 11:56 Спасибо большое! У меня всё получилось реализовала следующим образом:
Код: void Payment::on_tableWidget_2_cellEntered(int row, int column) Т.е. кликаем на ячейку, запиминаем номер её строки и когда пользователь тащит указатель вверх или вниз мы в событии on_tableWidget_2_cellEntered скролим строки. Всё хорошо работает, но правда тогда страдает скролл по колесику мышки из-за слбытия on_tableWidget_2_cellEntered. Может возможно как-то сохранить два способа пролистывания списка строк? Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 14, 2012, 11:58 может быть можно как-то поймать в событии on_tableWidget_2_cellEntered, что пользователь сейчас пользуется колесиком или что левая кнопка мыши не зажата? Как это сделать, подскажите ребята?
Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 14, 2012, 12:10 Нашла как проверить зажата ли левая кнопка мыши: QApplication::mouseButtons(Qt::LeftButton); Но у меня не получается это использовать в коде... Как эту конструкцию в if запихнуть?
Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: Serr500 от Май 14, 2012, 12:14 Эту - никак, поскольку там ошибка.
Код: if (QApplication::mouseButtons().testFlag(Qt::LeftButton)) { Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 15, 2012, 13:05 Ребята, помогите разобраться! Написала следующий код:
Код: void Payment::on_tableWidget_2_cellEntered(int row, int column) Не могу понять почему для tableWidget_2 методы коректно работают(т.е. зажимаю левую кнопку мыши тящу вниз/вверх срабатывает скролл), а для других tableWidget не работает и вообще когда я пытаюсь сделать теже самые действия приложения падает. Кто-нибудь может объяснить почему??? Поддержка mouseTracking включена у всех таблиц. Название: Re: Scroll по QTableWidget движением указателя мыши Отправлено: virtual_root от Май 15, 2012, 13:46 Уже разобралась.
|