Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cadrage Canvas dans fenêtre graphique

Sujet résolu
    26 août 2024 à 17:49:15

    Bonjour,

    Question surement très bête, mais bon ... :-)

    A chaque fois que l'on créé un Canvas dans une fenêtre Tkinter,

    il est décentré par rapport à la fenêtre, malgré un positionnement

    censément logique:

    from tkinter import *
    
    def get_MB1_pick_CB(evt):
        graph_area.delete(ALL)
        graph_area.create_text(20, 20, text = str(evt.x) + ' ' + str(evt.y))
    
    WIDTH, HEIGHT = 400, 300
    
    main_win = Tk()
    main_win.title('Test')
    main_win.geometry(str(WIDTH)+'x'+str(HEIGHT)+'+100+100')
    main_win.configure(background = 'blue')
    main_win.bind("<Button-1>", get_MB1_pick_CB)
    
    graph_area = Canvas(main_win, width = WIDTH-30, height = HEIGHT-30, bg = 'ivory')
    graph_area.place(x=15, y = 15)
    
    main_win.mainloop()



    (les bord droit et bas sont moins larges )

    -
    Edité par Phil_1857 26 août 2024 à 17:50:42

    • Partager sur Facebook
    • Partager sur Twitter
      11 septembre 2024 à 15:24:20

      Avec .place, il faudrait peut être plutôt l'appeler avec .place(anchor=CENTER, relx=.5, rely=.5). Le type du widget à center ne devrait pas avoir d'importance.

      -
      Edité par mps 11 septembre 2024 à 15:24:59

      • Partager sur Facebook
      • Partager sur Twitter
        12 septembre 2024 à 10:15:33

        Bonjour mps,

        Et merci, ca fonctionne beaucoup mieux ainsi :-)

        • Partager sur Facebook
        • Partager sur Twitter
          24 septembre 2024 à 17:12:04

          Bon, OK, ça ne dit pas pourquoi un Canvas 30 pixels moins haut

          et moins large que la fenêtre et placé à x15, y15 n'est pas centré,

          mais ca résout le problème   :-)

          -
          Edité par Phil_1857 24 septembre 2024 à 17:12:55

          • Partager sur Facebook
          • Partager sur Twitter
            24 septembre 2024 à 19:24:23

            Si vous pensez que c'est un bug, il faut le soumettre aux développeurs de TCL/Tk... 

            Essayez de faire la même chose avec grid ou pack (pour essayer d e piger ce qu'il se passe avec place). 

            • Partager sur Facebook
            • Partager sur Twitter

            Cadrage Canvas dans fenêtre graphique

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