Создание миникарты рабочей области
Как можно создать миникарту (поправьте, может не так называю данный элемент) рабочей области приложения? В общем имеется план железнодорожной станции в формате SVG, который естественно не помещается целиком на экран. Необходим объект, который будет отображать план целиком в небольшом прямоугольнике внизу слева (или в любом другом месте) и второй прямоугольник будет выделять область плана, которая отображается в данный момент на экране. Возможно это называется не миникарта и поэтому я ничего не могу нагуглить. Если я действительно не так называю, то скажите по каким ключевым словам поискать. Если называю правильно, то подскажите, как такое реализовать.
![We recommend hosting TIMEWEB](/media/technical_storage/timeweb-120-90.jpg)
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
- Unknown akadamn
- Jan. 24, 2025, 5:14 p.m.
Qt - Test 001. Signals and slots
- Result:84points,
- Rating points4
- Unknown akadamn
- Jan. 24, 2025, 4:22 p.m.
Qt - Test 001. Signals and slots
- Result:42points,
- Rating points-8
![Evgenii Legotckoi](/media/cache/5a/49/5a499b0c8eb5e79957fec0aea35e5d98.webp)
![Дмитрий](/media/cache/0a/bd/0abde19a58c2f6720c26b7b2c7a1ac5f.webp)
Готовый пример вряд ли нагуглите.
Но реализовать можно например так: Делаете два QGraphicsView . Один будет отвечать за миникарту , а второй будет отвечать за основной вид . Соответственно две QGraphicsView нужно будет сделать.
И на миникарту и на основной вид добавляете свой SVG файл. Можно использовать для этого QGraphicsSvgItem (в pro-файле необходимо будет подключить модуль SVG - QT += svg ).
На миникарте масштабируете SVG файл, чтобы он умещался полностью, а на основном виде оставляете как есть. Далее нужно будет создать класс, наследованный от QGraphicsObject и добавить его на миникарту. Из него нужно будет сделать прямоугольник, который можно будет перемещать. Соответствено нужно будет в процентном соотношении отслеживать размер этого прямоугольника и передавать эти параметры в основной вид, чтобы управлять отображением SVG файла на основном виде. Все эти параметры передавать с помощью сигналов и слотов
Задачка объёмная сама по себе, поэтому дам вам ссылки, которые могут помочь в реализации этой задачи: