def __init__(self, parent, ledger, entry, **kwargs): self.entry = entry # Current entry for which this menu is created self.ledger = ledger self.tv = kwargs['textvariable'] Menubutton.__init__(self, parent, **kwargs) self.refresh()
def __init__(self, master,inimage=None, outimage=None): self.master = master self.inI = PhotoImage(file='%s' % inimage) self.outI = PhotoImage(file='%s' % outimage) Menubutton.__init__(self, master, image=self.outI) self.configure(relief='flat', bd=0) self.bind('<Any-Enter>', lambda e, state=1, s=self: s.change(e, state)) self.bind('<Any-Leave>', lambda e, state=0, s=self: s.change(e, state)) self.menu = Menu(self, tearoff=0) self["menu"] = self.menu
def __init__( self, parent: Widget, string_var: StringVar, names: List[str], *args, **kwargs ): """Parent widget and string var are required. Args: parent: parent frame menubutton belongs to string_var: must be set a name in Images. names: all must be names of Images to select from. """ Menubutton.__init__(self, parent, *args, **kwargs) self.__string_var = string_var self.__string_var.trace("w", self.__trace_callback) value = string_var.get() self.config(image=Images[value]) menu = Menu(self) self["menu"] = menu for name in names: image = Images[name] callback = partial(self.__select_callback, name) menu.add_command(image=image, command=callback)