तो मैं स्क्रॉलबार वाले लेबलों से भरा फ्रेम बनाने के लिए टिंकर में कैनवास विजेट का उपयोग कर रहा हूं। सब कुछ अच्छा काम कर रहा है सिवाय इसके कि फ्रेम केवल इसमें रखे गए लेबल के आकार तक फैलता है - मैं चाहता हूं कि फ्रेम पैरेंट कैनवास के आकार में विस्तारित हो।टिंकर: कैनवास के आकार में विस्तार करने के लिए कैनवास विंडो में फ्रेम कैसे प्राप्त करें?
यदि मैं कैनवास में फ्रेम के लिए पैक (विस्तार = सही) (जिसे मैंने नीचे दिए गए कोड में टिप्पणी की है) का उपयोग किया है तो यह आसानी से किया जा सकता है लेकिन फिर स्क्रॉलबार काम नहीं करता है।
यहाँ कोड का उचित सा है:
self.canvas = Canvas(frame, bg = 'pink')
self.canvas.pack(side = RIGHT, fill = BOTH, expand = True)
self.mailbox_frame = Frame(self.canvas, bg = 'purple')
self.canvas.create_window((0,0),window=self.mailbox_frame, anchor = NW)
#self.mailbox_frame.pack(side = LEFT, fill = BOTH, expand = True)
mail_scroll = Scrollbar(self.canvas, orient = "vertical",
command = self.canvas.yview)
mail_scroll.pack(side = RIGHT, fill = Y)
self.canvas.config(yscrollcommand = mail_scroll.set)
self.mailbox_frame.bind("<Configure>", self.OnFrameConfigure)
def OnFrameConfigure(self, event):
self.canvas.configure(scrollregion=self.canvas.bbox("all"))
मैं भी तो आप देख सकते हैं कि मैं कम से हो रही है रंग का फ्रेम के साथ एक छवि प्रदान की है।
धन्यवाद