On Sat, 25 Jan 2020 at 01:43, Enrico Ferreguti <[email protected]> wrote:
>
> Hi QGIS developers,
>
> I would like to programmatically show a processing algoritm dialog from 
> python. I gived a look to processing toolbox and I found that this is 
> possible importing and instantiating the class AlgorithmDialog 
> [gui/processingToolbox.py][1]
>
>     from processing.gui.AlgorithmDialog import AlgorithmDialog
>     from qgis.core import QgsApplication
>
>     alg = 
> QgsApplication.processingRegistry().algorithmById('qgis:extractbyattribute')
>     dlg = AlgorithmDialog(alg, False, iface.mainWindow())
>     dlg.show()
>     dlg.exec_()
>
> This opens algorithm dialog and let me perform processing computations but 
> once closed the dialog window QGIS become instable and crash without any 
> message interacting with the user interface.
>
> What am I doing wrong? Is there a method to do this in other way?

Yep - there's a built in method which does this for you.

You want either

from qgis.processing import createAlgorithmDialog
dlg = createAlgorithmDialog('qgis:extractbyattribute', parameters={})
dlg.exec_()

OR

from qgis.processing import execAlgorithmDialog
results = execAlgorithmDialog('qgis:extractbyattribute', parameters={})

(check the docs for each for the full details)

In general, try to avoid any "from processing.* " imports -- those are
all internal details and not considered stable API. Anything in
"qgis.processing" IS stable and is public API, designed for external
use.

Nyall


>
> I just posted the question on StackExchange: 
> https://gis.stackexchange.com/questions/348542/open-qgis-prococessing-algorithm-dialog-with-python
>
> Thanks in advance.
> Enrico Ferreguti.
>
>   [1]: 
> https://github.com/qgis/QGIS/blob/276a31439eb95f9cdb1053a6ae2dba3f19fbcece/python/plugins/processing/gui/ProcessingToolbox.py#L262
> _______________________________________________
> 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
_______________________________________________
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