2010-11-13 26 views
32

Làm cách nào để thêm đệm vào cửa sổ tkinter, mà không có bộ nắn thẳng phụ tùng? tôi đã cố gắng:Thêm phần đệm vào một tiện ích tkinter chỉ ở một bên

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) 

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) 

Tôi muốn 30px đệm chỉ trên đỉnh của nhãn.

Trả lời

93

Tùy chọn đệm padxpady có thể chụp 2 -upup đại diện cho phần đệm trái/phải và trên cùng/dưới cùng.

Dưới đây là một ví dụ:

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

Thú vị. Hành vi này có được mô tả ở bất kỳ đâu bán chính thức không? Hai tài nguyên tk yêu thích của tôi, [effbot] (http://effbot.org/tkinterbook/grid.htm) và [New Mexico Tech] (http://infohost.nmt.edu/tcc/help/pubs/tkinter/web /grid.html), không đưa ra bất kỳ gợi ý nào về việc đệm có thể không đồng đều theo cách này. Hành vi không có giấy tờ bí mật? – Kevin

+0

@Kevin: tkinter chỉ là một wrapper pythonic xung quanh một thông dịch viên tcl nhúng bao gồm thư viện tk. Các tài liệu kinh điển cho tk đề cập đến tính năng này. Đây là tài liệu tham khảo: http://tcl.tk/man/tcl8.5/TkCmd/grid.htm#M16 –

Các vấn đề liên quan