def _optionmenu(k, v, *options): options = list(options) def trace(*args): try: var.set(options.index(svar.get())) except ValueError: pass try: opt = options[v] except (TypeError, IndexError): v = 0 opt = options[0] var = Tkinter.IntVar(f) var.set(v) svar = Tkinter.StringVar(f) svar.set(options[v]) svar.trace("w", trace) wp = f._w.rstrip(".") + ".c" + svar._name f.tk.call("combobox::combobox", wp, "-editable", 0, "-width", max(len(opt) for opt in options)+3, "-textvariable", svar._name, "-background", "white") f.tk.call(wp, "list", "insert", "end", *options) w = nf.makewidget(f, Tkinter.Widget, wp) return w, var
def optionmenu(k, v, *options): options = list(options) def trace(*args): try: var.set(options.index(svar.get())) except ValueError: pass try: opt = options[v] except (TypeError, IndexError): v = 0 opt = options[0] var = Tkinter.IntVar(f) var.set(v) svar = Tkinter.StringVar(f) svar.set(options[v]) svar.trace("w", trace) wp = f._w.rstrip(".") + ".c" + svar._name f.tk.call("combobox::combobox", wp, "-editable", 0, "-width", max(len(opt) for opt in options) + 3, "-textvariable", svar._name, "-background", "white") f.tk.call(wp, "list", "insert", "end", *options) w = nf.makewidget(f, Tkinter.Widget, wp) return w, var