Карта в плагине

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
kuzkok
Интересующийся
Сообщения: 34
Зарегистрирован: 21 янв 2011, 08:31
Репутация: 7
Откуда: Пермь

Карта в плагине

Сообщение kuzkok » 10 май 2011, 12:03

Как в плагине (в открепляемое\диалоговое окно) добавить карту?
пытаюсь использовать qgsmapcanvas, но без добавления слоев в maplayerregistry они не прорисовываются, если же их туда добавлять - то прорисовываются и на основной карте. Кто-то сталкивался с подобным?

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Карта в плагине

Сообщение Voltron » 10 май 2011, 12:49

Программно. В примере предполагается, что виджет содержит объект 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 )
Описанное вами поведение абсолюно логично и нормально.

kuzkok
Интересующийся
Сообщения: 34
Зарегистрирован: 21 янв 2011, 08:31
Репутация: 7
Откуда: Пермь

Re: Карта в плагине

Сообщение kuzkok » 10 май 2011, 13:00

Проблема не столько в том как карту на виджет добавить - это просто, а как заставить её прорисовываться независимо от основной карты приложения.
Требуется чтобы на основной карте и карте плагина были разные слои.

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Карта в плагине

Сообщение Voltron » 10 май 2011, 13:39

Тогда надо было сразу правильно сформулировать вопрос :-)

Алгоритм такой: при добавлении слоя отключаете отсылку сигнала layerWasAdded. Вручную формируете список слоёв, которые должны отображаться на карте расширения. Опять таки вручную устанавливаете layerset для карты.

kuzkok
Интересующийся
Сообщения: 34
Зарегистрирован: 21 янв 2011, 08:31
Репутация: 7
Откуда: Пермь

Re: Карта в плагине

Сообщение kuzkok » 10 май 2011, 13:55

благодарю, все гораздо проще чем мне казалось.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей