2010-11-13 13 views
32

Jak mogę dodać dopełnienie do okna tkinter, bez tkintera wyśrodkowującego widżet? Próbowałem:Dodawanie dopełnienia do widżetu ze striptizerem tylko z jednej strony

self.canvas_l = Label(self.master, text="choose a color:", font="helvetica 12") 
self.canvas_l.grid(row=9, column=1, sticky=S, ipady=30) 

i

self.canvas_l = Label(self.master, text="choose a color:", font="helvetica 12") 
self.canvas_l.grid(row=9, column=1, rowspan=2, sticky=S, pady=30) 

Chcę 30px dopełnienie tylko w górnej części etykiety.

Odpowiedz

93

Opcje napawające padx i pady może zająć 2-krotki, które reprezentują w lewo/prawo i góra/dół wyściółkę.

Oto przykład:

import tkinter as tk 

class MyApp(): 
    def __init__(self): 
     self.root = tk.Tk() 
     l1 = tk.Label(text="Hello") 
     l2 = tk.Label(text="World") 
     l1.grid(row=0, column=0, padx=(100, 10)) 
     l2.grid(row=1, column=0, padx=(10, 100)) 

app = MyApp() 
app.root.mainloop() 
+0

Interesujące. Czy to zachowanie jest opisane gdziekolwiek na pół oficjalnie? Moje dwa ulubione zasoby tk, [effbot] (http://effbot.org/tkinterbook/grid.htm) i [New Mexico Tech] (http://infohost.nmt.edu/tcc/help/pubs/tkinter/web /grid.html), nie sugeruj, że wypełnienie może być nierówne w ten sposób. Tajne nieudokumentowane zachowanie? – Kevin

+0

@Kevin: tkinter jest tylko pythonic wrapper wokół wbudowanego interpretera tcl, który zawiera bibliotekę tk. Dokumenty kanoniczne dla tk wspominają o tej funkcji. Oto referencja: http://tcl.tk/man/tcl8.5/TkCmd/grid.htm#M16 –

Powiązane problemy