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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: 2 GraphicsView + 1 GraphicsScene  (Прочитано 3945 раз)
vorotislav
Гость
« : Июль 20, 2016, 09:04 »

Доброго времени суток.
Есть 2 GraphicsView и 1 GraphicsScene.
Идея сделать следующее.
1 большая вьюха, с которой работаю, добавляю\расставляю элементы и все дела.
2 вьюха маленькая, в углу экрана, и должна быть в виде карты.
С масштабированием через задание QMatrix более менее разобрался, во второй вьюхе вся сцена помещена. А теперь хочу сделать на второй вьюхе нечто ввиде прямоугольника, который бы показывал, на что сейчас смотрит основная вьюха. Ну и соответственно еще чтоб при прикротке сцены, этот прямоугольник так же бы смещался. И желательно сделать наоборот: захватить прямоугольник, двигать и в основном представлении так же бы менялось положение.
Подскажите, куда двигаться, с чего начинать?
Заранее благодарен.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Июль 20, 2016, 12:10 »

класс QSint::ScrollPanner

https://www.linux-apps.com/p/1132148/

Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Июль 20, 2016, 12:17 »

А теперь хочу сделать на второй вьюхе нечто ввиде прямоугольника, который бы показывал, на что сейчас смотрит основная вьюха. Ну и соответственно еще чтоб при прикротке сцены, этот прямоугольник так же бы смещался. И желательно сделать наоборот: захватить прямоугольник, двигать и в основном представлении так же бы менялось положение.
Подскажите, куда двигаться, с чего начинать?
Рамку рисовать в QGraphicsView::drawForeground(), двигать в QGraphicsView::mousePressEvent()/mouseMoveEvent().
Записан

Qt 5.11/4.8.7 (X11/Win)
Bepec
Гость
« Ответ #3 : Июль 20, 2016, 12:50 »

А можно не париться с двумя View, а сделать свой виджет. С картинкой на фоне и прямоугольником - перерасчитываемым по координатам сцены. И это будет менее ресурсозатратным и более простым решением Улыбающийся
Записан
vorotislav
Гость
« Ответ #4 : Июль 21, 2016, 08:43 »

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


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