Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: sq_vasya от Октябрь 14, 2010, 17:24



Название: QScrollArea как заставить скроллить програмно?
Отправлено: sq_vasya от Октябрь 14, 2010, 17:24
Всем привет!

Есть контрол QScrollArea. Как его заставить проскроллить контент на заданную величину программно? За какой метод дёргать. Да, я гуглил и читал доку. К сожалению не нашёл, то что мне нужно. Я новичёк в Qt поэтому могу не знать каких-то элементарных понятий. QWidget::scroll() для этих целей не подходит, т.к. просто смещает контрол относительно родительского.

С уважением, Василий.


Название: Re: QScrollArea как заставить скроллить програмно?
Отправлено: marbius от Октябрь 14, 2010, 18:03
Код:
QScrollArea::horizontalScrollBar()::setValue(int);
QScrollArea::verticalScrollBar()::setValue(int);


Название: Re: QScrollArea как заставить скроллить програмно?
Отправлено: sq_vasya от Октябрь 14, 2010, 22:28
Код:
QScrollArea::horizontalScrollBar()::setValue(int);
QScrollArea::verticalScrollBar()::setValue(int);

Данные методы устанавливают значения скролбаров, но никак не двигают контент.


Название: Re: QScrollArea как заставить скроллить програмно?
Отправлено: marbius от Октябрь 15, 2010, 18:08
Данные методы устанавливают значения скролбаров, но никак не двигают контент.

Странно, у меня (Qt 4.7, win7, win xp) контент двигается... я специально проверил


Название: Re: QScrollArea как заставить скроллить програмно?
Отправлено: sq_vasya от Октябрь 16, 2010, 08:53
Странно, у меня (Qt 4.7, win7, win xp) контент двигается... я специально проверил

Sí, mi amigo, это работает. Видимо, сильно намудрил в тестовом приложении. Когда создал новое с нуля и попробавал - всё заработало прекрастно. Большое спасибо.