crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Программный скроллинг виджета в 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 послать что ли, или более правильный способ есть?
Заранее благодарен.
Прикрепленные файлы
Прикрепленный файл  scrolltest.zip ( 1,85 килобайт ) Кол-во скачиваний: 150
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
sbar
  опции профиля:
сообщение 12.8.2009, 21:41
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 2.3.2009
Пользователь №: 583

Спасибо сказали: 0 раз(а)




Репутация:   0  


100%-ная точность мне и не нужна. QScrollBar::setValue отлично подходит под мои цели, еще раз спасибо :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 2:44