[QGIS-Developer] Using QgsMapCanvas in a python plugin dialog

Eric Brelsford ebrelsford at gmail.com
Tue Apr 23 17:18:31 PDT 2019


I believe I got this working by making the mapLayers a member of the dialog
rather than a variable created in show(). For anyone who is curious or runs
into this in the future, this commit worked for me:


https://github.com/ebrelsford/qgis-map-canvas-test/commit/3bf48449aaf8430d03dad58c54a80c227c2852c1

eric

On Mon, Apr 22, 2019 at 7:42 PM Eric Brelsford <ebrelsford at gmail.com> wrote:

> I'm unsuccessfully trying to use a QgsMapCanvas in a python plugin's
> dialog.
>
> The canvas renders the map, which appears and disappears the first time I
> load the dialog. The second time I load the dialog, the map is rendered and
> remains. However, I've only accomplished this by using
> waitWhileRendering(), which I know is incorrect.
>
> I have posted a minimal plugin on GitHub (
> https://github.com/ebrelsford/qgis-map-canvas-test/) demonstrating this
> issue. It was created using Plugin Builder. The relevant parts will be the
> .ui file:
>
>
> https://github.com/ebrelsford/qgis-map-canvas-test/blob/master/map_canvas_test_dialog_base.ui#L15
>
> and the dialog python file:
>
>
> https://github.com/ebrelsford/qgis-map-canvas-test/blob/master/map_canvas_test_dialog.py#L55
>
> Is anyone familiar with what I'm doing wrong here? Or does anyone know
> python plugins using QgsMapCanvas in the dialog that I could use as a
> reference? I'd appreciate any thoughts you have on it!
>
> eric
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20190423/a28366dc/attachment-0001.html>


More information about the QGIS-Developer mailing list