2010-11-13 15 views
32

Widget'ı merkezleyen kırpmadan, bir kırpma penceresine dolgu nasıl ekleyebilirim? Denedim: Yalnızca bir tarafa bir kırpıntı widget'ına dolgu ekleme

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) 

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) 

ve

sadece etiketin üstünde 30px dolgu istiyorum.

cevap

93

doldurma seçenekleri padx ve pady bir 2-tuple sol/sağ ve üst/alt dolgu temsil alabilir.

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

İlginç:

İşte bir örnek. Bu davranış yarı resmi herhangi bir yerde açıklanmış mı? Benim en sevdiğim tk kaynakları, [effbot] (http://effbot.org/tkinterbook/grid.htm) ve [New Mexico Tech] (http://infohost.nmt.edu/tcc/help/pubs/tkinter/web /grid.html), doldurmanın bu şekilde eşitsiz olabileceğine dair herhangi bir ipucu vermeyin. Gizli belgelenmemiş davranış? – Kevin

+0

@Kevin: tkinter, tk kütüphanesini içeren gömülü bir tcl yorumlayıcısının etrafındaki pythonic bir sarıcıdır. Bu özellik için kanonik dokümanlar tk. İşte referans: http://tcl.tk/man/tcl8.5/TkCmd/grid.htm#M16 –