Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

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 smile ) 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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

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 sad

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

Guts JM
Participant occasionnel
Lieu: France
Date d'inscription: 13 May 2007
Messages: 37
Site web

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

 

Pied de page des forums

Powered by FluxBB