2010-11-13 4 views
32

Come aggiungere padding a una finestra tkinter, senza centrare il widget con tkinter? ho provato:Aggiunta di padding a un widget tkinter solo su un lato

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) 

e

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) 

voglio 30px padding solo sulla parte superiore dell'etichetta.

risposta

93

Le opzioni di imbottitura padx e pady può prendere un 2-tuple che rappresentano la sinistra/destra e alto/padding inferiore.

Ecco un esempio:

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

Interessante. Questo comportamento è descritto ovunque semi-ufficiale? Le mie due risorse di tk preferite, [effbot] (http://effbot.org/tkinterbook/grid.htm) e [New Mexico Tech] (http://infohost.nmt.edu/tcc/help/pubs/tkinter/web /grid.html), non dare alcun suggerimento sul fatto che il riempimento può essere irregolare in questo modo. Comportamento segreto non documentato? – Kevin

+0

@Kevin: tkinter è solo un involucro pitonico attorno a un interprete tcl incorporato che include la libreria tk. I documenti canonici per TK menzionano questa funzione. Ecco il riferimento: http://tcl.tk/man/tcl8.5/TkCmd/grid.htm#M16 –

Problemi correlati