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 :

Comment un script peut rendre la main à celui qui l'a lancé [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2021
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2021
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Comment un script peut rendre la main à celui qui l'a lancé
    Bonjour,

    Je suis d'un niveau débutant, sous windows 10 et Python 3.10
    Dans un premier script Tkinter j'aimerai faire une sorte de menu qui appelle d'autres scripts Tkinter (comme des jeux, par exemple).
    J'aimerai que lorsque le script appelé se lance, le menu disparaisse et qu'il réapparaisse automatiquement lorsque le script appelé se termine.

    Menu de test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    from tkinter import Button,Tk
    from test import debut
     
    def autre_prog():
        #root.iconify()
        debut()
        print('suite')
     
    root=Tk()
    root.geometry=("200x100")
    Button(root,text='jeu',height=5,width=5,command=autre_prog).grid(row=0, column=0)
    root.mainloop()
    Dans la fonction autre_prog j'ai essayé root.withdraw mais la fenêtre disparait et impossible de la retrouver !
    root.iconfy fonctionne, on retrouve le script dans les icones, par contre le print('suite') n'est activé que lorsque l'on ferme menu_test

    Script appelé
    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
    from tkinter import PhotoImage,Button,Tk,CENTER
     
    def valider():
        print('valider')
     
    def test():
        print('test')
     
    def debut():
        fen = Tk()
        Button(fen, text ='Valider', command=valider,borderwidth=5,relief='raised').grid(row=1,columnspan=2,sticky='ew')
        Button(fen,  command=test,text='Test').grid(row=5,column=0)
        fen.mainloop()
     
    if __name__ == "__main__":
        debut()
    J'ai recherché sur le net, mais je n'ai rien trouvé.
    Auriez-vous une solution à me proposer
    Cordialement

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par PLUB_85 Voir le message
    Dans un premier script Tkinter j'aimerai faire une sorte de menu qui appelle d'autres scripts Tkinter (comme des jeux, par exemple).
    J'aimerai que lorsque le script appelé se lance, le menu disparaisse et qu'il réapparaisse automatiquement lorsque le script appelé se termine.
    Dans la terminologie "standard" un script sera le programme principal, alors qu'un module sera un script qui s'importe. Cela a 2 conséquences: import c'est pas pareil que subprocess... et, à priori, comme vous débutez, vous ne devez pas avoir plusieurs fenêtres "principales" (affichées avec l'appel à Tk()) mais des fenêtres secondaires (Toplevel).

    Citation Envoyé par PLUB_85 Voir le message
    Dans la fonction autre_prog j'ai essayé root.withdraw mais la fenêtre disparait et impossible de la retrouver !
    root.iconfy fonctionne, on retrouve le script dans les icones, par contre le print('suite') n'est activé que lorsque l'on ferme menu_test
    Ca attend la sortie de mainloop.

    Citation Envoyé par PLUB_85 Voir le message
    Je suis d'un niveau débutant, sous windows 10 et Python 3.10
    C'est certainement gratifiant de se lancer dans un petit projet pour montrer qu'on maîtrise ce qu'on a appris. Et apprendre, c'est pas farfouiller sur Internet pour récupérer des codes qu'on ne comprend pas mais passer du temps dans un tuto. pour apprendre à l'écrire (et le relire).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/04/2012, 14h57
  2. Réponses: 1
    Dernier message: 14/09/2011, 14h36
  3. comment rendre la main au system d'exploitation?
    Par Mickey.jet dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/07/2007, 16h02
  4. Comment rendre la main au programme?
    Par Jayceblaster dans le forum Delphi
    Réponses: 6
    Dernier message: 05/06/2006, 14h00
  5. Comment cacher un script ou un lien dans celui ci
    Par Mysti¢ dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/04/2006, 12h46

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