2010-11-13 7 views
32

विजेट को केंद्रित करने के बिना, मैं टिंकर विंडो में पैडिंग कैसे जोड़ सकता हूं? मैंने कोशिश की:केवल एक तरफ एक टिंकर विजेट में पैडिंग जोड़ना

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) 

मैं केवल लेबल के शीर्ष पर 30px गद्दी चाहते हैं।

उत्तर

93

गद्दी विकल्प padx और pady एक 2-टपल कि बायीं/दायीं और ऊपर/नीचे गद्दी का प्रतिनिधित्व कर सकते हैं।

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

दिलचस्प:

यहाँ एक उदाहरण है। क्या यह व्यवहार कहीं भी अर्ध-आधिकारिक वर्णन करता है? मेरे दो पसंदीदा टीके संसाधन, [effbot] (http://effbot.org/tkinterbook/grid.htm) और [न्यू मैक्सिको टेक] (http://infohost.nmt.edu/tcc/help/pubs/tkinter/web /grid.html), इस तरह से संकेत न दें कि पैडिंग असमान हो सकती है। गुप्त अनियंत्रित व्यवहार? – Kevin

+0

@ केविन: टिंकर एक एम्बेडेड टीसीएल दुभाषिया के आसपास सिर्फ एक पायथनिक रैपर है जिसमें टीके लाइब्रेरी शामिल है। टीके के लिए कैननिकल दस्तावेज़ इस सुविधा का जिक्र करते हैं। यहां संदर्भ है: http://tcl.tk/man/tcl8.5/TkCmd/grid.htm#M16 –