Source code for jade.basic.TKinter.Listbox

from Tkinter import *
from tkFont import *






[docs]class AutoListbox(Listbox):
[docs] def autowidth(self, maxwidth, list=None): f = Font(font=self.cget("font")) pixels = 0 if not list: for item in self.get(0, "end"): pixels = max(pixels, f.measure(item)) else: for item in list: pixels = max(pixels, f.measure(item)) # bump listbox size until all entries fit pixels = pixels + 10 width = int(self.cget("width")) for w in range(0, maxwidth + 1, 5): if self.winfo_reqwidth() >= pixels: break
self.config(width=width + w)