Russian Qt Forum
Ноябрь 24, 2024, 21:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как получить координаты видимой области сцены ?  (Прочитано 3559 раз)
AntonUfo
Гость
« : Февраль 02, 2010, 15:25 »

Собственно вот такой вопрос.

Код:
void QGraphicsView::centerOn ( const QPointF & pos )
-прокручивает содержимое области просмотра чтобы обеспечить что координата сцены pos находиться в центре вида.
а мне нужно получить координаты вида видимой области сцены, предположим размер вида 800 на 600, а сцены 4000 на 2000, при смещении ScrollBar-ом видимая область сцены изменится, как узнать какие координаты сцены теперь центр видимой области ?
Записан
Kolobok
Гость
« Ответ #1 : Февраль 02, 2010, 15:58 »

mapToScene ?
Записан
AntonUfo
Гость
« Ответ #2 : Февраль 02, 2010, 16:02 »

mapToScene ?

да я все понять не могу как им воспользоваться, уже несколько часов голову ломаю...
Записан
mal
Гость
« Ответ #3 : Февраль 08, 2010, 17:20 »

Код
C++ (Qt)
{
// в конструкторе
        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)));
}
 
 
slotHorizontScroll(int x)
{
int pos_x = horz_Bar->sliderPosition();
int pos_y = vert_Bar->sliderPosition();
 
QPoint qpoint(pos_x,pos_y);
QPointF qp = view->mapToScene ( qpoint );
}
slotVerticalScroll(int y)
{
//аналогично предыдущему слоту
}
 
Записан
AntonUfo
Гость
« Ответ #4 : Февраль 08, 2010, 21:37 »

спасибо.... приблизительно так же и сделал.... но у Вас как то более компактно получилось....
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.154 секунд. Запросов: 21.