def __init__(self, master, naxes): self._master = master self._naxes = naxes self._mbar = Tk.Frame(master=master, relief=Tk.RAISED, borderwidth=2) self._mbar.pack(side=Tk.LEFT) self._mbutton = Tk.Menubutton(master=self._mbar, text="Axes", underline=0) self._mbutton.pack(side=Tk.LEFT, padx="2m") self._mbutton.menu = Tk.Menu(self._mbutton) self._mbutton.menu.add_command(label="Select All", command=self.select_all) self._mbutton.menu.add_command(label="Invert All", command=self.invert_all) self._axis_var = [] self._checkbutton = [] for i in range(naxes): self._axis_var.append(Tk.IntVar()) self._axis_var[i].set(1) self._checkbutton.append( self._mbutton.menu.add_checkbutton(label="Axis %d" % (i + 1), variable=self._axis_var[i], command=self.set_active)) self._mbutton.menu.invoke(self._mbutton.menu.index("Select All")) self._mbutton['menu'] = self._mbutton.menu self._mbar.tk_menuBar(self._mbutton) self.set_active()
def __init__(self, root, option): tk.Frame.__init__(self, root) self.label = tk.Label(self, text=option['prompt']) self.label.grid(row=0, column=0, padx=20) self.button = tk.Menubutton(self, text='Choose One', relief=tk.GROOVE) self.menu = tk.Menu(self.button) self.button['menu'] = self.menu self.select = tk.StringVar() for opt in option['options']: self.menu.add_radiobutton(label=opt['label'], variable=self.select, value=opt['value'], command=self._Update) if 'default' in opt: self.select.set(opt['value']) self._Update() self.button.grid(row=0, column=1)