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 <[email protected]> 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
>
_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to