def _createPresetVar(self, frame, row): var = tkinter.StringVar() var.set('none') om = tkinter.OptionMenu(frame, var, *(self.presets)) om.grid(row=row, column=1, sticky='ew', padx=2, pady=2) var.trace('w', self._OnAssignToPreset) return var
def _createGamesVar(self, frame, row): var = tkinter.StringVar() om = tkinter.OptionMenu(frame, var, command=self.gameSelected, *(self.gamenames)) om.grid(row=row, column=1, sticky='ew', padx=2, pady=2) n = len(self.gamenames) cb_max = int(self.top.winfo_screenheight()//23) cb_max = n // (n//cb_max+1) for i in xrange(cb_max, n, cb_max): om['menu'].entryconfig(i, columnbreak=True) return var
def __init__(self, parent, title, app, **kw): kw = self.initKw(kw) MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) top_frame, bottom_frame = self.createFrames(kw) self.createBitmaps(top_frame, kw) frame = tkinter.Frame(top_frame) frame.pack(expand=True, fill='both', padx=10, pady=10) frame.columnconfigure(0, weight=1) notebook = TabPageSet(frame) notebook.pack(expand=True, fill='both') for w in WizardWidgets: if isinstance(w, basestring): notebook.AddPage(w) frame = tkinter.Frame(notebook.pages[w]['page']) frame.pack(expand=True, fill='both', padx=2, pady=4) frame.columnconfigure(1, weight=1) row = 0 continue tkinter.Label(frame, text=w.label).grid(row=row, column=0, padx=2) if w.widget == 'preset': if w.variable is None: w.variable = tkinter.StringVar() values = [_(v) for v in w.values] default = _(w.default) values.remove(default) values.sort() values.insert(0, default) def callback(v, w=w): return self.presetSelected(v, w) om = tkinter.OptionMenu(frame, w.variable, command=callback, *values) om.grid(row=row, column=1, sticky='ew', padx=2) elif w.widget == 'entry': if w.variable is None: w.variable = tkinter.StringVar() en = tkinter.Entry(frame, textvariable=w.variable) en.grid(row=row, column=1, sticky='ew', padx=2) elif w.widget == 'menu': if w.variable is None: w.variable = tkinter.StringVar() values = [_(v) for v in w.values] om = tkinter.OptionMenu(frame, w.variable, *values) om.grid(row=row, column=1, sticky='ew', padx=2) elif w.widget == 'spin': if w.variable is None: w.variable = tkinter.IntVar() from_, to = w.values s = tkinter.Scale(frame, from_=from_, to=to, resolution=1, orient='horizontal', length=200, variable=w.variable) s.grid(row=row, column=1, sticky='ew', padx=2) elif w.widget == 'check': if w.variable is None: w.variable = tkinter.BooleanVar() ch = tkinter.Checkbutton(frame, variable=w.variable, takefocus=False, anchor='w') ch.grid(row=row, column=1, sticky='ew', padx=2, pady=2) if w.current_value is None: v = w.default else: v = w.current_value if w.widget in ('menu', 'preset', 'entry'): v = _(v) w.variable.set(v) row += 1 notebook.ChangePage() focus = self.createButtons(bottom_frame, kw) self.mainloop(focus, kw.timeout)
def create_widgets(): global list_box, canvas, label, zoom_label # root = tkinter.Tk() # list_box = tkinter.Listbox(root, exportselection=False) list_box.grid(row=0, column=0, rowspan=2, sticky=tkinter.NS) cardsets_list = list(cardsets_dict) cardsets_list.sort() for cs in cardsets_list: list_box.insert(tkinter.END, cs) list_box.bind('<<ListboxSelect>>', show_cardset) # sb = tkinter.Scrollbar(root) sb.grid(row=0, column=1, rowspan=2, sticky=tkinter.NS) list_box.config(yscrollcommand=sb.set) sb.config(command=list_box.yview) # canvas = tkinter.Canvas(root, bg='#5eab6b') canvas.grid(row=0, column=2, sticky=tkinter.NSEW) canvas.bind('<4>', lambda e: canvas.yview_scroll(-5, 'unit')) canvas.bind('<5>', lambda e: canvas.yview_scroll(5, 'unit')) # sb = tkinter.Scrollbar(root) sb.grid(row=0, column=3, sticky=tkinter.NS) canvas.config(yscrollcommand=sb.set) sb.config(command=canvas.yview) # if True: sb = tkinter.Scrollbar(root, orient=tkinter.HORIZONTAL) sb.grid(row=1, column=2, sticky=tkinter.EW) canvas.config(xscrollcommand=sb.set) sb.config(command=canvas.xview) # label = tkinter.Label(root) label.grid(row=2, column=0, columnspan=4) # b_frame = tkinter.Frame(root) b_frame.grid(row=3, column=0, columnspan=4, sticky=tkinter.EW) button = tkinter.Button(b_frame, text='Quit', command=root.quit, width=8) button.pack(side=tkinter.RIGHT) button = tkinter.Button(b_frame, text='Info', command=show_info, width=8) button.pack(side=tkinter.RIGHT) if Image: global rotate_var, filter_var rotate_var = tkinter.IntVar(root) filter_var = tkinter.StringVar(root) button = tkinter.Button(b_frame, text=' + ', command=zoom_in) button.pack(side=tkinter.LEFT) button = tkinter.Button(b_frame, text=' - ', command=zoom_out) button.pack(side=tkinter.LEFT) button = tkinter.Button(b_frame, text=' = ', command=zoom_cancel) button.pack(side=tkinter.LEFT) button = tkinter.Checkbutton(b_frame, text='Rotate', indicatoron=0, selectcolor=b_frame['bg'], width=8, variable=rotate_var, command=show_cardset) button.pack(side=tkinter.LEFT, fill='y') om = tkinter.OptionMenu(b_frame, filter_var, 'NEAREST', 'BILINEAR', 'BICUBIC', 'ANTIALIAS', command=show_cardset) filter_var.set('NEAREST') om.pack(side=tkinter.LEFT, fill='y') zoom_label = tkinter.Label(b_frame) zoom_label.pack(side=tkinter.LEFT) # root.columnconfigure(2, weight=1) root.rowconfigure(0, weight=1) root.title('Show Cardsets') return root