Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: crot26rus от Сентябрь 16, 2008, 17:25



Название: Как добавить полосы прокрутки в QGraphicsView?
Отправлено: crot26rus от Сентябрь 16, 2008, 17:25
При установки размера сцены для QGraphicsView или QGraphicsScene полосы прокрутки автоматически не появляются?
Кто знает почему? и как сделать чтобы появлялись?


Название: Re: Как добавить полосы прокрутки в QGraphicsView?
Отправлено: mal от Сентябрь 17, 2008, 17:35
смотрим асистент QGraphicsView:

Цитировать
Property Documentation

alignment : Qt::Alignment

This property holds the alignment of the scene in the view when the whole scene is visible.
If the whole scene is visible in the view, (i.e., there are no visible scroll bars,)


Т.е. если вся сцена помещается во view - скроллбаров нет - а зачем они в это время?

добавлять их не надо - они у view есть
я юзаю так:
в конструкторе виджета при создании view (и scene) делаю
Код:
// horz_Bar и vert_Bar - это QScrollBar*
// veiw - QGraphicsView*

horz_Bar = view->horizontalScrollBar();
QObject::connect((QObject*)horz_Bar, SIGNAL(  valueChanged ( int)), this, SLOT(slotHorizontScroll(int)));

vert_Bar = view->verticalScrollBar();
QObject::connect((QObject*)vert_Bar, SIGNAL(  valueChanged ( int)), this, SLOT(slotVerticalScroll(int)));


И потом уже когда идет скроллинг, делаю что мне надо в этих слотах.