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
