#1 Fri 26 November 2010 14:03
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
QGIS enceladus : réaliser un plugin ?
Bonjour,
je me lance dans la réalisation de plugin avec Qgis Enceladus
J'ai suivi le tutoriel ici: http://www.geotribu.net/node/284
Mon dossier de plugins est ici: C:\Utilitaires\Quantum GIS Enceladus\python\plugins
Et tout se charge bien dans Enceladus.
J'ai utilisé Qt Designer pour créer une interface où:
- il y a un fichier raster à renseigner avec un bouton ouvrant une fenêtre de sélection
- un fichier vecteur à renseigner avec un bouton ouvrant une fenêtre de sélection
- Une action à engager qui appelle Fwttools (bien entendu sur des fonctions non enregistrées dans Qgis à l'origine.) avec en paramètre les 2 fichiers ci-dessus.
Bien entendu à chaque bouton je dois engager les actions citées au-dessus mais je n'y suis pas encore
En effet je bloque sur l'étape suivante du tutoriel où j'ai une erreur de syntaxe dans la console python de Qgis.
Code:
pyuic4 -o tmp.py -x Ui_showActiveLayer.ui
Bien sur ensuite je n'ai pu affecter les actions nécessaires à mes boutons si cette étape n'est pas franchie.
Toute aide est la bienvenue sur ce sujet pour cette étape comme pour les suivantes.
Merci
xavier
Hors ligne
#2 Fri 26 November 2010 14:35
Re: QGIS enceladus : réaliser un plugin ?
Bonjour,
Je ne pense pas que la commande pyuic4 doit être lancé dans la console Python de QGIS mais dans une console Python "normale".
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 26 November 2010 15:05
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: QGIS enceladus : réaliser un plugin ?
C'est une bonne piste mais alors je ne vois pas pourquoi le .bat correspondant est dans l'arborescence d'Enceladus.
Surtout que ça ne me dit pas erreur de fonction ou fonction non reconnue (à retraduire en anglais ) mais erreur de syntaxe.
Donc cette commande doit exister, non?
J'ai installé sinon python27 et PyQT4 (ici: http://www.riverbankcomputing.co.uk/sof … t/download ). Bien entendu, j'ai mis mon fichier à modifier dans la racinde python27
ET j'ai le même problème de syntaxe.
J'ai aussi utilisé la 2e formule possible à savoir:
pyuic Ui_showActiveLayer.ui > Ui_showActiveLayer.py
Et toujours l'erreur de syntaxe
Hors ligne
#4 Fri 26 November 2010 15:54
Re: QGIS enceladus : réaliser un plugin ?
bonjour,
Je dis des bêtises il ne faut pas lancer cette commande dans une console python mais dans le shell. Sinon ... aucune idée
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Fri 26 November 2010 16:07
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: QGIS enceladus : réaliser un plugin ?
C'est effectivement ce que j'ai fait en passant par Python.exe
Hors ligne
#6 Fri 26 November 2010 17:00
- jmz
- Participant actif
- Lieu: Anthon
- Date d'inscription: 5 Sep 2005
- Messages: 142
Re: QGIS enceladus : réaliser un plugin ?
Bonjour,
La commande Pyuic sert a convertir l'interface *.ui que tu as réalisé sous
QtDesigner en fichier python *.py reconnu par ton environnement Python.
Pour lancer la commande, a mon avis, il faut que tu te déplace (dans l'invite de
commande dos) jusqu'au répertoire ou se trouve pyuic4.exe, ou alors que tu
déclare le chemin en tant que 'Path' dans les variables environnement de
Windows.
et le message d'erreur ?? quel est-il ?
Cordialement
Julien
Hors ligne
#7 Fri 26 November 2010 17:34
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: QGIS enceladus : réaliser un plugin ?
J'ai mis mon fichier ici :
C:\Python27\Lib\site-packages\PyQt4
où se trouve pyuic4.bat
J'ai lancé la commande python.exe et y ai inscrit:
Code:
pyuic Ui_showActiveLayer.ui > Ui_showActiveLayer.py
identiquement j'ai le résultat suivant:
Code:
File "(stdin)",line 1 pyuic Ui_showActiveLayer.ui > Ui_showActiveLayer.py SyntaxError Invalid syntax
J'ai ensuite inscrit la formule
Code:
pyuic4 -o tmp.py -x Ui_showActiveLayer.ui
Même problème.
Dernière modification par xavier78 (Fri 26 November 2010 17:56)
Hors ligne
#8 Fri 26 November 2010 18:40
- Marie S.
- Participant actif
- Lieu: Paris
- Date d'inscription: 30 Nov 2005
- Messages: 88
Re: QGIS enceladus : réaliser un plugin ?
Bonsoir,
Sous windows j'utilise cette ligne de commande pour convertir mes ui en py :
Code:
python pyuic.py -o tmp.py -x uiFile.ui
Bien entendu il faut que ton path soit bien configuré (variable d'environnement "path" : "C:\Python25").
Le fichier pyuic.py se trouve dans C:\Python25\Lib\site-packages\PyQt4\uic
Hors ligne
#9 Fri 26 November 2010 19:43
- xavier78
- Participant actif
- Date d'inscription: 12 Oct 2006
- Messages: 148
Re: QGIS enceladus : réaliser un plugin ?
Cela ne marche toujours pas dans la console python.exe
Merci de l'aide, j'ai contourné le problème en passant par le cmd et en utilisant effectivement uniquement pyuic.py
C'est quand même dommage de ne pas comprendre ce qui ne va pas alors que ce ne sont que des install standards et un suivi de tutoriel.
Merci
Xavier
Hors ligne
#10 Fri 18 November 2011 03:46
Re: QGIS enceladus : réaliser un plugin ?
Bonjour,
je ne sais pas si cela vous sera utile mais peut-être que pour d'autres...
Code:
pyuic4 -o tmp.py -x Ui_showActiveLayer.ui
à lancer depuis le shell (windows : touche windows + r, exécuter cmd) après s'être déplacé dans le dossier où le fichier *.ui se trouve.
pour se déplacer :
Code:
cd chemin complet du fichier du type C:\qgis\qt\
Dernière modification par Guts JM (Fri 18 November 2011 03:48)
Géomaticien et animateur de Geotribu (http://geotribu.fr)
Hors ligne
#11 Fri 18 November 2011 12:14
- dominique.lys
- Participant assidu
- Date d'inscription: 5 Oct 2006
- Messages: 473
- Site web
Re: QGIS enceladus : réaliser un plugin ?
Moi je me fait un fichier bat avec un code de ce genre:
Code:
C:\Python25\Python.exe "C:\Python25\Lib\site-packages\PyQt4\uic\pyuic.py" "E:\...\form.ui" > "E:\...\form.py" pause
Au moins il n'y a pas d’ambiguité et un double clic sur le bat suffit pour mettre à jour l'interface.
Dernière modification par dominique.lys (Fri 18 November 2011 12:14)
Hors ligne