[QGIS-it-user] selezionare una cartella in uno script processing

Salve a tutti

Sto scrivendo uno script python che dovrebbe funzionare all’interno del processing di qgis.
Vorrei selezionare una cartella di input e non dei file.

Nelle API ho visto che QgsProcessingParameterFile potrebbe essere fare al caso mio, ma non ho capito come fare a specificare che quello che voglio selezionare è una cartella e non un file.

Quello che ho scritto

self.addParameter(QgsProcessingParameterFile(self.INPUT,
self.tr(‘Folder input’)))

non da errori ma pretende dei singoli file e non è possibile nemmeno la selezione multipla.

Grazie per l’aiuto

Giacomo

Il 10/01/2022 18:15, Giacomo Fontanelli ha scritto:

Nelle API ho visto che QgsProcessingParameterFile potrebbe essere fare al caso mio, ma non ho capito come fare a specificare che quello che voglio selezionare è una cartella e non un file.

self.addParameter(QgsProcessingParameterFile(self.INPUT,

self.tr(‘Folder input’)))

Ciao Giacomo,
hai provato a settare il terzo argomento (“behavior”) di QgsProcessingParameterFile con il valore QgsProcessingParameterFile.Folder ?

A presto.

Andrea

Ciao Andrea

risolto settando behavior = 1.

Grazie

giacomo

Il giorno lun 10 gen 2022 alle ore 22:55 Andrea Giudiceandrea <andreaerdna@libero.it> ha scritto:

Il 10/01/2022 18:15, Giacomo Fontanelli ha scritto:

Nelle API ho visto che QgsProcessingParameterFile potrebbe essere fare al caso mio, ma non ho capito come fare a specificare che quello che voglio selezionare è una cartella e non un file.

self.addParameter(QgsProcessingParameterFile(self.INPUT,

self.tr(‘Folder input’)))

Ciao Giacomo,
hai provato a settare il terzo argomento (“behavior”) di QgsProcessingParameterFile con il valore QgsProcessingParameterFile.Folder ?

A presto.

Andrea


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Il 11/01/2022 08:47, Giacomo Fontanelli ha scritto:

Ciao Andrea

risolto settando behavior = 1.

Grazie

Ciao Giacomo,
infatti QgsProcessingParameterFile.Folder corrisponde al valore 1 (mentre QgsProcessingParameterFile.File, che è il valore di default, corrisponde a 0).

Solitamente, per una più immediata leggibilità del codice, si preferisce usare l'enum piuttosto che il suo corrispondente valore.

A presto.

Andrea