केवल एक तरफ टिक्कर विजेट में पैडिंग जोड़ना


83

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

 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 पैडिंग चाहिए।

जवाबों:


198

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

यहाँ एक उदाहरण है:

import tkinter as tk

class MyApp():
    def __init__(self):
        self.root = tk.Tk()
        l1 = tk.Label(self.root, text="Hello")
        l2 = tk.Label(self.root, 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()

दिलचस्प है। क्या यह व्यवहार कहीं अर्ध-आधिकारिक है? मेरे दो पसंदीदा tk संसाधन, effbot और New Mexico Tech , कोई भी संकेत नहीं देते हैं कि इस तरह से पैडिंग असमान हो सकती है। गुप्त अप्रत्यक्ष व्यवहार?
केविन

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

ग्रिड पैडेक्स / पेड़ी पर काम करता है, लेकिन फ़्रेम पर नहीं। संभवतः कई और अपवाद मौजूद हैं
डैनियल ब्रौन

1
@DanielBraun: यह फ्रेम के लिए भी काम करेगा। Tkinter परवाह नहीं है कि यह किस प्रकार का विजेट है।
ब्रायन ओकले

1
@Giova: हाँ, टपल संस्करण के लिए ही काम करता है padxऔर padyके विकल्प gridऔर packpadxऔर padyकुछ विजेट का विकल्प अलग हैं। आप इसे विगेट्स के विकल्प padxऔर padyविकल्प के लिए उपयोग नहीं कर सकते । मैं अपना उत्तर स्पष्ट करने की कोशिश करूँगा।
ब्रायन ओकले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.