IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Exceptions et Tk


Sujet :

Tkinter Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 73
    Par défaut Exceptions et Tk
    Bonjour,

    Je voudrais gérer les exceptions de mon application, mais je me bute à un problème, je ne sais pas comment faire pour l'afficher soit dans la fenêtre principale, soit dans une autre fenêtre.

    Merci d'avance pour votre aide ;o)

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonsoir,

    Citation Envoyé par sverdo Voir le message
    Je voudrais gérer les exceptions de mon application
    Plus d'explications ?

    Sinon un exemple (non fonctionnel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def Affiche_Exception(self, MonErreur):
        self.mafenetre=Toplevel()
        self.mafenetre.title('Erreur')
        self.Label(self.mafenetre, text=MonErreur)
    
    while True:
        try:
            x = int(raw_input("Entrez un nombre: "))
            break
        except ValueError:
            self.Affiche_Exception(ValueError)
    @+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 73
    Par défaut Un peu plus d'explications ......
    Voilà,je réponds à ta question PauseKawa

    J'ai une fenêtre avec quatre champs à remplir, ces quatre champs sont obligatoires pour que ma fonction "Calcul" marche !
    Donc ce que je voudrais, c'est qu'il y ait une exception qui se lève si un des champs n'est pas rempli, ou mal rempli (caractères au lieu d'int ou float).
    Mais que cette exception affiche un message dans une nouvelle fenêtre (Message Box ????)

    Merci

    @++

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Je présume que tu utilise un bouton pour valider.
    Dans ce cas il te suffit de vérifier tes champs dans la procédure (command=) et soit de valider soit d'utiliser un messageBox comme tu le dit ou un Toplevel si tu souhaite faire plus personnalisé.

    Edit : Sinon il est aussi possible de tracer tes variables, regarde du coté de StringVar, Intvar et autre textvariable.

  5. #5
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Re bonjour,

    Quelque chose qui risque de t'intéresser

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 73
    Par défaut Le retour ;o)
    Salut PauseKawa,

    Je viens de jeter un coup d'oeil sur les adresses que tu m'as donné, je crois avoir compris, mais je n'arrive pas à l'appliquer sur mon code (je ne maitrise pas encore très bien Python, pour être modéré ;o))
    Je te fourni mon code en PJ si tu veux jeter un coup d'oeil, ne fais pas attention à la formule de calcul, pour l'instant elle n'a rien à voir avec la réalité, c'était juste pour tester.

    Je te remercie d'avance
    Fichiers attachés Fichiers attachés

  7. #7
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Citation Envoyé par sverdo Voir le message
    Donc ce que je voudrais, c'est qu'il y ait une exception qui se lève si un des champs n'est pas rempli, ou mal rempli (caractères au lieu d'int ou float).
    Donc pour ce qui est des champs vides regarde dans calcul a faire des tests style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    def calcul():
        a=ent1.get()
        b=ent2.get()
        c=ent3.get()
        d=ent4.get()
        if not a:
            Affiche_Exception('car a est null')
        elif not b:
            Affiche_Exception('car b est null')
        elif not c:
            Affiche_Exception('car c est null')
        elif not d:
            Affiche_Exception('car d est null')
        else:
            try:
                e=float(a)*float(b)/float(c)+float(d)
                lbl6.configure(text = e)
            except:
                Affiche_Exception('Erreur de calcul')
     
    def Affiche_Exception(MonErreur):
        mafenetre=Toplevel()
        mafenetre.title('Erreur')
        Label(mafenetre, fg='red', text='OPERATION IMPOSSIBLE').pack()
        Label(mafenetre, text=MonErreur).pack()
        Button(mafenetre, text='Quitter', command=mafenetre.quit).pack()
    Sinon pour ce qui est de la saisie la validation expliquée par tyrtamos me semble une bonne chose : regarde dans le sujet tu y trouve un lien vers son tuto.

    @+

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 73
    Par défaut Exceptions et Tk
    Merci PauseKawa,

    Ca marche, et surtout je vois et comprends mieux comment faire.
    J'ai mis en pratique le tuto de Tyrtamos aussi pour gérer le contenu des champs

    A très bientôt

  9. #9
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonsoir,

    Citation Envoyé par sverdo Voir le message
    J'ai mis en pratique le tuto de Tyrtamos aussi pour gérer le contenu des champs
    Pas évident au début, n'hésite pas au cas ou

    Bonne découverte.

    @+

Discussions similaires

  1. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  2. Exception & Try..catch
    Par PurL dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/12/2002, 15h35
  3. Réponses: 3
    Dernier message: 01/11/2002, 14h30
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo