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

GEODATA DAYS 2024

#1 Wed 31 August 2016 09:25

alea1623
Juste Inscrit !
Date d'inscription: 7 Jul 2016
Messages: 3

QGIS: Fonction d'initialisation python/aujout de contrôles aux .ui

Bonjour,

j'ai réalisé des formulaires sous qt creator pour un projet qgis lié à une base postgres, ils sont en .ui
dans ces formulaires j'ai des qpushbutton qui doivent m'ouvrir d'autres formulaires. ça qt creator ne le prend pas en charge, et si j'ai bien compris, il faut utiliser une fonction d'initialisation python, dans qgis, qui gère ces contrôles en plus des .ui. En glanant sur internet, j'ai réalisé un bout de code, mais il ne fonctionne pas, j'ai sans arrêt des erreurs, il me met toujours erreur de syntaxe sur la dernière ligne.
si quelqu'un peut se pencher sur mon problème, ça serait super sympa.

en gros j'ai trois pushbutton qui doivent m'ouvrir trois formulaires différents.
voici mon code python:

Code:

from PyQt4.QtCore import * 
from PyQt4.QtGui import *
 
myDialog = None
 
def formOpen(dialog,layerid,featureid):
    # 1.Definition des widgets QT
    global inventeur
    inventeur_view = dialog.findChild(QPushButton,"Ajouter un nouvel observateur")
     
    global oeuf
    oeuf_view = dialog.findChild(QPushButton,u"Biométrie oeuf")
     
    global pulli
    pulli_view = dialog.findChild(QPushButton,u"Biométrie pulli") 
    
     
    #2. Liaison de la fonction 
    QObject.connect(inventeur, SIGNAL("clicked()"), this, SLOT(inventeur())
    QObject.connect(oeuf, SIGNAL("clicked()"), this, SLOT(oeuf())
    QObject.connect(poussin, SIGNAL("clicked()"), this, SLOT(pulli())

Je vous remercie beaucoup!
JV

Hors ligne

 

#2 Wed 31 August 2016 10:08

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

Re: QGIS: Fonction d'initialisation python/aujout de contrôles aux .ui

Il manque des parenthèses sur les 3 dernières lignes, il me semble (connect(...))

Hors ligne

 

#3 Wed 31 August 2016 11:50

alea1623
Juste Inscrit !
Date d'inscription: 7 Jul 2016
Messages: 3

Re: QGIS: Fonction d'initialisation python/aujout de contrôles aux .ui

je te remercie,
effectivement il manquait des parenthèses, mais j'ai toujours un message d'erreur

"Une erreur est survenue lors de l'exécution du code suivant:
from visite import formOpen()


  File "", line 1
    from visite import formOpen()
                               ^
SyntaxError: invalid syntax"


sachant que mon formulaire s'appelle visite.ui et le python visite.py
pour le nom de la fonction dans qgis j'ai mis : visite.formOpen()

si quelqu'un à déjà utilisé ces fonction?

Hors ligne

 

#4 Wed 31 August 2016 14:56

gvellut
Participant actif
Lieu: Annecy
Date d'inscription: 13 Apr 2006
Messages: 112
Site web

Re: QGIS: Fonction d'initialisation python/aujout de contrôles aux .ui

dans qgis, essaie de mettre :  visite.formOpen (sans les parenthèses)

Dernière modification par gvellut (Wed 31 August 2016 14:56)

Hors ligne

 

#5 Mon 05 September 2016 17:43

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS: Fonction d'initialisation python/aujout de contrôles aux .ui

Bonjour, serait - il possible d'avoir l ensemble du projet en zip. Les fichiers ui, py, couche et qgs.
Pouvez vous nous donner aussi votre version de qgis ?

Sinon les objets oeuf, inventaire et poussin n existent pas. Il faut remplacer par oeuf_view,...
De même vos méthodes oeuf(), inventaire() et pulli() ne sont pas définies

Hors ligne

 

Pied de page des forums

Powered by FluxBB