Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire d'un Toplevel une fenêtre principale

Sujet résolu
    23 mars 2019 à 18:17:36

    Bonjour !

    Le but de mon programme est d'avoir une fenêtre d'accueil, sur laquelle se trouve un bouton. En cliquant sur le bouton "commencer", au mieux, j'aimerais que la fenêtre d'accueil se ferme pour laisser place à la suivante, celle où il y aura la simulation. Or, est-ce qu'il y aurait une autre méthode qu'en mettant tout dans la définition ? Où est-ce que je dois programmer toute ma simulation dedans ? Pour lui donner le focus en quelque sorte ! Pour l'instant il y a seulement une image lorsqu'on clique sur le bouton, mais j'ai peur qu'avec tout le reste ça fasse lourd.

    Voici un exemple de mon code :

    from tkinter import *
    
    #Fenêtre Menu
    fen1 = Tk()
    can=Canvas(fen1,width=725,height=456)
    can.grid(row=2, column=2)
    
    def w_commencer():
        fen3=Toplevel(fen1)
        can3=Canvas(fen3,width=400,height=300).grid(row=2, column=2)
        ph=PhotoImage(file="lol.gif")
        back = Label(fen3, image=ph).grid(row=2,column=2)
        fen3.mainloop()
    
    commencer=Button(fen1,text='Commencer',command=w_commencer, bg="light yellow",justify="c",width=13)
    commencer.place(relx=.5, rely=.3, anchor="c")
    
    fen1.mainloop()
    fen1.destroy()

    Merci pour votre aide..!

    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2019 à 18:38:46

      Un petit code pour démarrer et à tester

      from tkinter import *
      
      def action():
          root.withdraw()
          top = Toplevel(root)
          top.protocol("WM_DELETE_WINDOW", root.destroy)
      
      root = Tk()
      
      but = Button(root, text='withdraw')
      but['command'] = action
      but.pack()
      
      root.mainloop()



      -
      Edité par fred1599 23 mars 2019 à 18:39:35

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        23 mars 2019 à 19:10:04

        Ok ça marche, merci beaucoup ! Maintenant, du coup, comment met-on des éléments dans la toplevel qui reste ?
        • Partager sur Facebook
        • Partager sur Twitter
          23 mars 2019 à 19:11:41

          Comme pour fen1 dans ton exemple.

          EDIT: Plusieurs exemples ICI.

          -
          Edité par fred1599 23 mars 2019 à 19:12:43

          • Partager sur Facebook
          • Partager sur Twitter

          Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
          La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

            23 mars 2019 à 19:29:15

            Je dois tout mettre dans la def du coup, c'est ça ?
            • Partager sur Facebook
            • Partager sur Twitter
              23 mars 2019 à 20:04:43

              Pour te répondre il faudra connaître exactement le cahier des charges, mais avant d'appliquer, faire des tests me semble essentiel.
              • Partager sur Facebook
              • Partager sur Twitter

              Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
              La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

              Faire d'un Toplevel une fenêtre principale

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown