Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Wed 07 September 2022 00:25
- passby
- Participant occasionnel
- Date d'inscription: 1 Sep 2022
- Messages: 11
QGIS 3.X: Script pythons - parametres d'entree
Bonjour
J'utilise un script python habituellement sur Qgis 2
Seulement il y a quelques différences depuis Qgis 3
le soucis porte sur la définition des paramètres d'entrée/sortie
au niveau de la boite de dialogue du script
+ le nom du script et du groupe
sur Qgis 2
le code suivant en début de script fonctionnait correctement :
Code:
##Travaux=group ##Process=name ##serveur=string 10.203.10.1 ##bdd=string smn2022 ##schema=string pm ##login=string id ##mot_de_passe=string mdp ##Dossier=Folder import..
Sur Qgis 3,
y'a t-il un moyen similaire et donc assez simple pour définir ces entrées ?
Merci bien
Hors ligne
#2 Wed 07 September 2022 09:59
- JLH
- Participant actif
- Date d'inscription: 7 Dec 2019
- Messages: 69
Re: QGIS 3.X: Script pythons - parametres d'entree
Bonjour,
Je pense que toute la syntaxe Python3 est a étudier :
Pour déclarer une chaine de caractère ( string) : str(10.203.10.1) . La doit être l'erreur.
Bonne journée
Hors ligne
#3 Wed 12 October 2022 11:39
- passby
- Participant occasionnel
- Date d'inscription: 1 Sep 2022
- Messages: 11
Re: QGIS 3.X: Script pythons - parametres d'entree
Re Bonjour
Apres plusieurs recherches j'a trouvé la solution
Pour définir des paramètres sous Qgis3
on utilise le "addParameter" ou encore le "addOutput" dans le "def initAlgorithm"
Code:
def initAlgorithm(self, config=None): #Add String as input self.addParameter( QgsProcessingParameterString( self.SERVEUR, self.tr('Serveur hôte'), defaultValue = '10.203.10.1' ) ) [...]
Puis on les réutilise dans le "def processAlgorithm" (l'algorithme principale qui effectue la tache)
Code:
def processAlgorithm(self, parameters, context, feedback): host = self.parameterAsString (parameters,'SERVEUR', context) [...]
Hors ligne