Tkinter तीन ज्यामिति प्रबंधकों है।
पैक और ग्रिड आमतौर पर जगह पर अनुशंसित होते हैं।
आप स्थिति स्क्रॉलबारपाठ विजेट के बगल में grid manager'sपंक्ति और स्तंभ विकल्पों
उपयोग कर सकते हैं।
पाठ के yview विधि के लिए स्क्रॉलबार विजेट के आदेश विकल्प सेट करें।
scrollb = tki.Scrollbar(..., command=txt.yview)
को स्क्रॉलबार के सेट विधि पाठ विजेट के yscrollcommand विकल्प सेट करें।
import Tkinter as tki # Tkinter -> tkinter in Python3
class App(object):
def __init__(self):
self.root = tki.Tk()
# create a Frame for the Text and Scrollbar
txt_frm = tki.Frame(self.root, width=600, height=600)
txt_frm.pack(fill="both", expand=True)
# ensure a consistent GUI size
txt_frm.grid_propagate(False)
# implement stretchability
txt_frm.grid_rowconfigure(0, weight=1)
txt_frm.grid_columnconfigure(0, weight=1)
# create a Text widget
self.txt = tki.Text(txt_frm, borderwidth=3, relief="sunken")
self.txt.config(font=("consolas", 12), undo=True, wrap='word')
self.txt.grid(row=0, column=0, sticky="nsew", padx=2, pady=2)
# create a Scrollbar and associate it with txt
scrollb = tki.Scrollbar(txt_frm, command=self.txt.yview)
scrollb.grid(row=0, column=1, sticky='nsew')
self.txt['yscrollcommand'] = scrollb.set
app = App()
app.root.mainloop()
बात यह है कि अपने स्क्रॉलबार संबोधित करेंगे छोटे जा रहा है sticky='nsew'
है,
जो आप के बारे में → here या here पढ़ सकते हैं:
txt['yscrollcommand'] = scrollb.set
यहाँ एक काम कर उदाहरण है।
कोई चीज जो आप अभी सीखने के लिए उपयोगी होगा कि विभिन्न Tkinter विगेट्स जब तक कि वे एक ही मूल का हिस्सा नहीं है के रूप में ही कार्यक्रम के भीतर विभिन्न ज्यामिति प्रबंधकों का उपयोग कर सकते है।
यह भी उल्लेख ScrolledText मॉड्यूल (python3 में tkinter.scrolledtext का नाम बदला) है कि वहाँ के लायक है। इसमें एक कक्षा है जिसे स्क्रॉलेडटेक्स्ट भी कहा जाता है जो एक यौगिक विजेट (टेक्स्ट & स्क्रॉलबार) है।
# Python 2.7
import Tkinter as tki
from ScrolledText import ScrolledText
class App(object):
def __init__(self):
self.root = tki.Tk()
# create a Text widget with a Scrollbar attached
self.txt = ScrolledText(self.root, undo=True)
self.txt['font'] = ('consolas', '12')
self.txt.pack(expand=True, fill='both')
app = App()
app.root.mainloop()
धन्यवाद, इससे मुझे बहुत मदद मिली। मैं वास्तव में इसकी प्रशंसा करता हूँ। – jwebster
मैं "आमतौर पर * जगह पर अनुशंसित" करने के लिए "आमतौर पर स्थान पर अनुशंसित" बदल दूंगा। जगह उपयोगी है, लेकिन केवल दुर्लभ परिस्थितियों के लिए। –
@honestabe आप उत्तर के विभिन्न वर्गों के बीच जाने के लिए लाइन कैसे प्राप्त करते हैं? – xxmbabanexx