Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme Tkinter .grid()

Sujet résolu
    15 mai 2013 à 14:23:14

    Bonjour a tous.

    Je suis en train de programmer le jeu du + ou - avec le module tkinter.Je voulais commencer par une fenetre d'accueil avec un texte de bienvenue ainsi que trois boutons:facile normal et difficile.

    Le probleme c'est que les boutons sont disposés n'importe comment lorsque j'utilise grid.

    Ainsi quand je fait ça:

    import random
    from tkinter import *
    
    class PremiereFenetre(Tk,Button,Label):
        """fenetre d'accueil,comprend:
    --un texte souhaitant la bienvenue a l'utilisateur
    --trois bouton pour selectionner la difficultée
    --un texte variant suivant la position du curseur sur un bouton"""
        def __init__(self):
            #creation de la fenetre principale
            self=Tk()
    
            #la fenetre ne peut etre modifiée en taille par l'utilisateur
            self.resizable(width=False,height=False)
            
            #creation du texte souhaitant la bienvenue et placement sur la fenetre
            self.texte=Label(self,text="bienvenue,choisissez une difficulté :")
            self.texte.grid(row=0)
    
            #changement du titre de la fenetre 
            self.titre=self.title("+ ou -")
    
            #creation des trois boutons pouvant regler la difficulté
            self.bouton_1=Button(self,text="Facile")
            self.bouton_2=Button(self,text="Moyen")
            self.bouton_3=Button(self,text="Difficile")
    
            #placement des boutons
            self.bouton_1.grid(row=2,column=0)
            self.bouton_2.grid(row=2,column=1)
            self.bouton_3.grid(row=2,column=2)
    
    joueur=PremiereFenetre()

    j'obtiens ca:

    que faire pour que les boutons soit disposés de maniere reguliere sur la ligne? 

    -
    Edité par Smich74 15 mai 2013 à 14:26:31

    • Partager sur Facebook
    • Partager sur Twitter
    Si c'était facile, tout le monde le ferait.
    Anonyme
      15 mai 2013 à 14:38:57

      Voici un exemple fonctionnel, votre code ne fonctionne pas chez moi et c'est normal. Il faudra revoir la notion d'héritage, c'est mal employé.

      Pour votre erreur, rajouter l'option columnspan au label texte

      from tkinter import *
       
      root = Tk()
      
      texte=Label(root, text="bienvenue,choisissez une difficulté :")
      texte.grid(row=0, column=0, columnspan=3) # À rajouter dans votre code l'option columnspan
      
      for i in range(3):
          b1 = Button(root, text="b1").grid(row=1, column=i)
      
      root.mainloop()

      le label s'étendra sur 3 colonnes...

      • Partager sur Facebook
      • Partager sur Twitter
        15 mai 2013 à 14:59:34

        ok merci beaucoup fred, quand à l'heritage je vois ce que tu veut dire :)

        -
        Edité par Smich74 15 mai 2013 à 15:09:56

        • Partager sur Facebook
        • Partager sur Twitter
        Si c'était facile, tout le monde le ferait.

        Probleme Tkinter .grid()

        × 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