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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Рисование на географической карте (QGraphicsItem)  (Прочитано 6035 раз)
INZER
Гость
« : Март 04, 2015, 13:39 »

Задача следующая: на географической карте необходимо нарисовать радиолокационную станцию (графическое изображение (*.png), текстовое описание- ееназвание и зону охвата - круг).

Графическое изображение должно выделяться.

При наследовании от QgraphicsItem столкнулся со следующим.
Необходимо переопределить функцию
Код:
QRectF boundingRect() const
Как я понял она должна возвращать большой черный квадрат с рисунка выше, этот квадрат используется для перерисовки объекта при масштабировании и др.
Так же она отвечает за выбор элемента со сцены, но мне выбрать элемент нужно не по большой области, а тыкая по пиктограмме станции.

Я заблуждаюсь? Как можно выкрутиться из этого?

Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Март 05, 2015, 10:15 »

boundingRect используется для внутренних расчетов при отрисовске сцены и столкновений элементов.
если вам нужно более точное определение фиугры то смотрите в сторону метода shape(), в котором вы возвращаете именно фигуру QPainterPath, в данном случае круг радара.
Но в любом случае boundingRect вам нужно возвращать, только в данном случае можно так

Код:

QPainterPath MyClass::shape() const {
QPainterPath p;
p.addEllipse(...); //пишу по памяти, не уверен что эллипс, может есть круг
return p;
}

QRectF MyClass::boundingRect() const {
 return shape().boundingRect();
}

Записан
fdfsdfgjfh
Гость
« Ответ #2 : Март 05, 2015, 21:23 »

карта только 2D? рлс не только кругом помечается
Записан
INZER
Гость
« Ответ #3 : Март 06, 2015, 09:54 »

2D, РЛС помечается иконкой с надписью и кругом зоны охвата
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #4 : Март 06, 2015, 10:56 »

я вам написал простое решение, судя по всему вы даже не удосужились его проверить.
Записан
INZER
Гость
« Ответ #5 : Март 06, 2015, 12:02 »

Цитировать
я вам написал простое решение, судя по всему вы даже не удосужились его проверить.
Зря вы так, спасибо за направление в нужную сторону....
Записан
fdfsdfgjfh
Гость
« Ответ #6 : Март 11, 2015, 20:50 »

Если не секрет, что за проект разрабатываете?
Записан
INZER
Гость
« Ответ #7 : Март 12, 2015, 14:52 »

Мониторинг состояния РЛС
Записан
fdfsdfgjfh
Гость
« Ответ #8 : Март 12, 2015, 20:38 »

2D, РЛС помечается иконкой с надписью и кругом зоны охвата

а для круга будет учитываться рельеф (высота)?
Записан
INZER
Гость
« Ответ #9 : Март 13, 2015, 13:08 »

2D, РЛС помечается иконкой с надписью и кругом зоны охвата

а для круга будет учитываться рельеф (высота)?

С учетом рельефа рассчитываются точки для установки наземных станций. Все это сделано ранее ...
В данной задаче достаточно схематично отрисовать зону покрытия (не учитывая рельеф, погодные условия и т.д.)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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