Partage
  • Partager sur Facebook
  • Partager sur Twitter

mettre deux labels l'un après l'autre

Sujet résolu
    3 septembre 2022 à 22:52:14

    bonjour  à tous !

    Alors voilà mon problème. J'aimerai mettre deux labels l'un après l'autre dans un tableaux que j'ai créé avec tkinter.  Mais je voudrais que ces deux labels se trouvent au même niveaux. Je vous ai fourni mon code afin que vous puissiez mieux comprendre.

    J'ai fait quelques recherches sur Google mais sans succès. Alors j'espère que vous pourrez m'aider !

    Merci d'avance et bonne journée.

    import tkinter
    
    root = tkinter.Tk()
    root.geometry('500x500')
    root.resizable(0, 0)
    
    def test():
        text = tkinter.Label(frame_1, text="22/12/2006")
        text.grid()
        text_1 = tkinter.Label(frame_1, text="200")
        text_1.grid(column=2)
    
    button = tkinter.Button(root, text="test !", command=test)
    button.pack(pady=5)
    
    table = tkinter.Listbox(root, height=100)
    table.pack()
    
    frame_1 = tkinter.Frame(table, width=78)
    frame_1.pack()
    
    label = tkinter.Label(frame_1, text='Date')
    label.grid(row=0, column=0, padx=10, pady=5)
    
    label_2 = tkinter.Label(frame_1, text='Débit')
    label_2.grid(row=0, column=2, padx=100, pady=5)
    
    
    
    
    root.mainloop()
    



    • Partager sur Facebook
    • Partager sur Twitter
      4 septembre 2022 à 0:54:29

      Salut !

      Une idée :

      def test():
          r = frame_1.grid_size()[1]+1
          text = tkinter.Label(frame_1, text="22/12/2006")
          text.grid(row=r, column=0)
          text_1 = tkinter.Label(frame_1, text="200")
          text_1.grid(row=r, column=1)

      Remplace column=2 par 1

      • Partager sur Facebook
      • Partager sur Twitter
        4 septembre 2022 à 11:10:17

        Ca marche, merci beaucoup. Mais étant débutant en python, pourrais-tu un peux expliciter ton code ? Merci
        • Partager sur Facebook
        • Partager sur Twitter
          4 septembre 2022 à 12:49:05

          J'ai simplement utilisé la méthode grid_size() pour obtenir un tuple contenant (nb_of_columns, nb_of_rows) dans frame_1

          https://anzeljg.github.io/rin2/book2/2405/docs/tkinter/grid-methods.html

          =frame_1.grid_size()[1]+1

          r = 1+1 = 2

          Quand on appuiera à nouveau sur test on aura cette fois-ci :

          =frame_1.grid_size()[1]+1

          r = 2+1 = 3

          Et ainsi de suite.

          -
          Edité par ErispoeLeNarvalo 4 septembre 2022 à 12:49:56

          • Partager sur Facebook
          • Partager sur Twitter
            4 septembre 2022 à 13:52:34

            Ok, j'ai tout compris et c'est vraiment astucieux ! Merci encore !

            Je te souhaite une excellente journée !

            Excusez-moi mais j'ai une dernière question : comment peut-on transformer le texte de text="200" de text_1 en un float ?

            -
            Edité par mathias13 4 septembre 2022 à 18:02:32

            • Partager sur Facebook
            • Partager sur Twitter

            mettre deux labels l'un après l'autre

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            • Editeur
            • Markdown