Карта в плагине
-
- Интересующийся
- Сообщения: 34
- Зарегистрирован: 21 янв 2011, 08:31
- Репутация: 7
- Откуда: Пермь
Карта в плагине
Как в плагине (в открепляемое\диалоговое окно) добавить карту?
пытаюсь использовать qgsmapcanvas, но без добавления слоев в maplayerregistry они не прорисовываются, если же их туда добавлять - то прорисовываются и на основной карте. Кто-то сталкивался с подобным?
пытаюсь использовать qgsmapcanvas, но без добавления слоев в maplayerregistry они не прорисовываются, если же их туда добавлять - то прорисовываются и на основной карте. Кто-то сталкивался с подобным?
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Карта в плагине
Программно. В примере предполагается, что виджет содержит объект layout c именем canvasLayout
Описанное вами поведение абсолюно логично и нормально.
Код: Выделить всё
self.canvas = QgsMapCanvas()
self.canvas.setCanvasColor( QColor( 200, 200, 255 ) )
self.canvas.enableAntiAliasing( True )
self.canvas.show()
self.canvasLayout.addWidget( self.canvas )
-
- Интересующийся
- Сообщения: 34
- Зарегистрирован: 21 янв 2011, 08:31
- Репутация: 7
- Откуда: Пермь
Re: Карта в плагине
Проблема не столько в том как карту на виджет добавить - это просто, а как заставить её прорисовываться независимо от основной карты приложения.
Требуется чтобы на основной карте и карте плагина были разные слои.
Требуется чтобы на основной карте и карте плагина были разные слои.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Карта в плагине
Тогда надо было сразу правильно сформулировать вопрос 
Алгоритм такой: при добавлении слоя отключаете отсылку сигнала layerWasAdded. Вручную формируете список слоёв, которые должны отображаться на карте расширения. Опять таки вручную устанавливаете layerset для карты.

Алгоритм такой: при добавлении слоя отключаете отсылку сигнала layerWasAdded. Вручную формируете список слоёв, которые должны отображаться на карте расширения. Опять таки вручную устанавливаете layerset для карты.
-
- Интересующийся
- Сообщения: 34
- Зарегистрирован: 21 янв 2011, 08:31
- Репутация: 7
- Откуда: Пермь
Re: Карта в плагине
благодарю, все гораздо проще чем мне казалось.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей