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 :

Toujours mon 1er prog. Infos complémentaires


Sujet :

Tkinter Python

  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut Toujours mon 1er prog. Infos complémentaires
    Bonsoir,

    Voici le début de mon 1er prog.
    L'exemple ci-dessous, doit permettre d'ouvrir deux fenêtre dont le code est inscrit dans un fichier exem1.py depuis le fichier exem2.py.

    Voici ce que j'ai écrit:

    exem1.py
    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
     
    #-*- coding:Utf-8 -*-
    from Tkinter import *
     
    def newfen1():
        fen1 = Tk()             
     
        txt = Label(fen1, text = "ACCEUIL", fg = 'green')
        bou = Button(fen1, text = 'accés fen2', command = newfen2)
     
        fen1txt.pack()
        bou.pack()
     
        fen1.mainloop()
     
     
    def newfen2(event):
        fen2 = Tk()      
     
        fen1.destroy()
        txt = Label(fen2, text = "PAGE 1", fg = 'green')
        txt2 = Label(fen2, text = "COUCOU", fg = 'green')
        txt.pack()
        txt.pack()
     
        fen2.mainloop()
    exem2.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #-*- coding:Utf-8 -*-
    from exem1 import *
    newfen1()
    Lorsque je double clic sur exem1.py, newfen1() d'exécute bien.
    Par contre si je clique sur le bouton bou, newfen2() apparaît mais vide.

    Quelqu'un peut-il m'expliquer pourquoi?
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    J'ai trouvé le problème.

    Dans exem1.py, j'ai mis la commande fen1.destroy() juste après fen2 = Tk().

    Si je le retire ça fonctionne.

    Comment puis-je alors fermer fen1?
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 474
    Points : 9 274
    Points
    9 274
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Tu ne peux pas créer deux fenêtres principales. C'est pour cela que la 2ème fenêtre n'apparait que lorsque la 1ère a été détruite. Une fois que la 1ère fenêtre a été créée avec Tkinter.Tk(), il faut utiliser Tkinter.Toplevel() pour créer des fenêtres supplémentaires.

    Voir chapitre 18 de la doc Tkinter: http://infohost.nmt.edu/tcc/help/pubs/tkinter/

    Tyrtamos
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net] Popup toujours au 1er plan en cas de clic
    Par dyree dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/06/2006, 13h34
  2. Une liste déroulante est-elle toujours en 1er plan ?
    Par Marc365 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/05/2006, 20h16
  3. [VB]infos complémentaires pour l'impression d'une page excel avec vb
    Par Jacen dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 25/04/2006, 15h57
  4. [debutant]Mon premier prog OpenGL
    Par Revan777 dans le forum OpenGL
    Réponses: 5
    Dernier message: 04/04/2005, 17h40
  5. [connexion][CVS] Toujours mon probleme de connexion
    Par Gromitou dans le forum JBuilder
    Réponses: 11
    Dernier message: 07/11/2003, 18h41

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