Python algorithms cannot currently run in background threads, due to Python's GIL

Nyall Dawson 2018-01-15 13:45:42 +10:00
parent 766c1d43c7
commit c3e8ac134b

@ -2,7 +2,7 @@ QGIS 3 has entered code freeze. It's, therefore, time to port your plugin.
While you are porting/rewriting your plugin, think about using QGIS native widgets. For instance, if you need a combobox providing a list of layers, use a `QgsMapLayerComboBox` instead of a `QComboBox`. There is also `QgsFieldComboBox` if you need to pick a field in a vector layer. The full list of widgets is here https://qgis.org/api/group__gui.html It's less code to write for you, and users will have the same user experience across plugins and QGIS Desktop. While you are porting/rewriting your plugin, think about using QGIS native widgets. For instance, if you need a combobox providing a list of layers, use a `QgsMapLayerComboBox` instead of a `QComboBox`. There is also `QgsFieldComboBox` if you need to pick a field in a vector layer. The full list of widgets is here https://qgis.org/api/group__gui.html It's less code to write for you, and users will have the same user experience across plugins and QGIS Desktop.
Also think about using the Processing framework. Your plugin can become its own Processing provider so your algorithms can be included in models and have the same UI as native algorithms. It's also less code to write, the UI is managed by QGIS. In QGIS 3, Processing has been refactored and is much more powerful than in QGIS 2 (running as a background task ...). Also think about using the Processing framework. Your plugin can become its own Processing provider so your algorithms can be included in models and have the same UI as native algorithms. It's also less code to write, the UI is managed by QGIS. In QGIS 3, Processing has been refactored and is much more powerful than in QGIS 2.
In QGIS 3, GeoPackage is much more present. Avoid creating shapefile in your plugin if possible and use the OGC standard GeoPackage format which can store both raster and vector in a single file: http://www.geopackage.org In QGIS 3, GeoPackage is much more present. Avoid creating shapefile in your plugin if possible and use the OGC standard GeoPackage format which can store both raster and vector in a single file: http://www.geopackage.org