Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tkinter redimensionner le texte d'un bouton...

Au redimensionnement du bouton

    30 août 2014 à 11:20:26

    Bonjour,

    Je suis entrain de créer une calculatrice en python grâce à tkinter, mais j'ai un problème :

    Ci dessus, il y a une capture d'écran de la fenêtre permettant d'afficher les boutons :



    Mais si l'utilisateur agrandi la fenêtre, ça donne ça :



    Les chiffres ne se redimensionnent pas, et apparaissent tout petit dans les cases !!! 

    Je voudrais donc savoir comment faire pour que la taille des chiffres s'adapte à la taille des boutons.


    Merci d'avance

    -
    Edité par Adrien++ 30 août 2014 à 11:22:29

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      30 août 2014 à 22:40:45

      Tiens essayes cela sur ton interpréteur

      >>> import tkinter as tk
      >>> import tkinter.font as tkfont
      >>> root = tk.Tk()
      >>> for i in range(12, 36, 4):
      ...     helvetica = tkfont.Font(family='Helvetica', size=i, weight='bold')
      ...     button = tk.Button(root, text='size {}'.format(i), font=helvetica)
      ...     button.pack()
      ... 
      



      • Partager sur Facebook
      • Partager sur Twitter
        1 septembre 2014 à 14:03:11

        Merci pour la réponse,

        J'ai adapté le code, ça me donne ça :

        import tkinter as tk
        import tkinter.font as tkfont
        
        root = tk.Tk()
        
        root.grid_columnconfigure(0,weight=1)
        root.grid_rowconfigure(0,weight=1)
        
        
        helvetica = tkfont.Font(family='Helvetica', size=50, weight='bold')
        button = tk.Button(root, text='Size : 50', font=helvetica)
        button.grid(row=0,column=0, sticky='EWNS')
        
        
        root.mainloop()

        Quand on ouvre le programme, ça affiche le texte :

        Mais si on redimensionne la fenêtre, le texte ne s’agrandit pas :

        Merci d'avance

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          1 septembre 2014 à 14:09:04

          Et un petit code tout con comme celui ci ca marcherait pas ? :

          ancienne_taille = 450 #on fait une fenetre de 450*450
          on_resize = XXX #nouvelle taille
          taille_letre = on_resize // ancienne_taille
          helvetica = tkfont.Font(family='Helvetica', size=taille_letre, weight='bold')





          • Partager sur Facebook
          • Partager sur Twitter
            1 septembre 2014 à 14:35:15

            Non, car la modification de "helvetica" se passera après la création du bouton (l'utilisateur redimensionne la fenêtre après que le bouton soit crée ), et donc la taille du texte dans le bouton ne changera pas.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              1 septembre 2014 à 14:55:10

              sauf si tu recharges ton bouton à chaque redimensionnement. apres je ne connais pas très bien tkinter, je préfère pygame.
              • Partager sur Facebook
              • Partager sur Twitter
                1 septembre 2014 à 16:08:18

                Comment on fait pour recharger le bouton ?

                J'ai essayé :

                button.update()

                Mais ça ne marche pas

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  1 septembre 2014 à 16:59:41

                  ou sinon tu refais button.pack() je pense et que tu détruis l'ancien pour éviter qu'ils se superposent

                  -
                  Edité par Anonyme 1 septembre 2014 à 17:00:07

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    1 septembre 2014 à 18:55:41

                    C'est simplement une question de proportionnalité, il faut donc connaître la proportion entre taille de fenêtre et taille de la police.

                    Là j'ai pas le temps, désolé je peux pas donner d'exemple tout de suite

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Tkinter redimensionner le texte d'un bouton...

                    × 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