Программный скроллинг виджета в QScrollArea, на заданные координаты |
Здравствуйте, гость ( Вход | Регистрация )
Программный скроллинг виджета в QScrollArea, на заданные координаты |
sbar |
12.8.2009, 20:11
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 11 Регистрация: 2.3.2009 Пользователь №: 583 Спасибо сказали: 0 раз(а) Репутация: 0 |
Нужно прокрутить виджет, лежащий в QScrollArea программно на заданные координаты.
QWidget::pos(int x, int y) не подходит, т.к. не скроллит, а именно меняет положение виджета. К тому же, судя по необновляемым скроллбарам, QScrollArea не считает его прокрученным, поэтому после такого «скролла», при попытке покрутить через скроллбары, виджет встает на изначальное положение (что и неудивительно). (См. аттач). QWidget::scroll(int dx, int dy) тоже не то. Оно скроллит на координаты, относительно текущей, а не относительно начала. (См. закомменченные строки 17 и 18 в testwidget.cpp) Со скроллбарами та же проблема: QScrollArea думает что виджет никто не прокручивал. Как правильно покрутить скроллбары на нужные координаты? QScrollArea::wheelEvent послать что ли, или более правильный способ есть? Заранее благодарен.
Прикрепленные файлы
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 15:00 |