def __init__(self, parent, oldVal, pname): tk.Toplevel.__init__(self, parent) self.transient(parent) self.parent = parent self.newVal = None self.inputFrame = tk.Frame(self) self.parLabel = tk.Label(self.inputFrame, text="Value for parameter: " + str(pname)) self.parLabel.pack() self.inputVal = tk.StringVar() self.inputVal.set("% g" % oldVal) self.input = tk.Entry(self.inputFrame, textvariable=self.inputVal) self.input.pack() self.inputFrame.pack(fill=tk.X) self.buttonFrame = tk.Frame(self) self.okButton = tk.Button(self, text="OK", command=self._okClicked) self.caButton = tk.Button(self, text="Cancel", command=self._cancelClicked) self.okButton.pack(side=tk.RIGHT) self.caButton.pack(side=tk.LEFT) # Treat return as OK self.bind("<Return>", self._okClicked) # Treat close as cancel self.protocol("WM_DELETE_WINDOW", self._cancelClicked) # For a modal dialog self.grab_set() # Keyboard focus to input entry self.input.focus_set() self.wait_window(self)
def __init__(self, master): frame = tk.Frame(master) frame.pack() tk.Label(frame, text='Remove excel (.xlsx) workbook protection, ' 'worksheet protections and read-only protection' '. \n' '[1] Open password cannot be removed. \n' '[2] .xls and other formats are not supported.', compound=tk.LEFT, bitmap='questhead', wraplength=400, padx=10, justify=tk.LEFT).pack(side=tk.TOP, padx=5) buttom_frame = tk.Frame(frame) buttom_frame.pack(side=tk.TOP, pady=10) self.button_open = tk.Button(buttom_frame, text='Open', fg='black', command=self.open) self.button_open.pack(side=tk.LEFT) self.button_save = tk.Button(buttom_frame, text='Save as', fg='black', state=tk.DISABLED, command=self.save) self.button_save.pack(side=tk.LEFT) self.output = '' self.dirname = '.' self.file_type_opt = { 'defaultextension': '*.xlsx', 'filetypes': (('Excel file', '*.xlsx'), ('All types', '*.*')), }
def __init__(self, app, parent, title=None, images=None, color="blue", width=300, height=25, show_text=1, norm=1): self.parent = parent self.percent = 0 self.top = makeToplevel(parent, title=title) self.top.wm_protocol("WM_DELETE_WINDOW", self.wmDeleteWindow) self.top.wm_group(parent) self.top.wm_resizable(False, False) self.frame = tkinter.Frame(self.top, relief='flat', bd=0, takefocus=0) self.cframe = tkinter.Frame(self.frame, relief='sunken', bd=1, takefocus=0) self.canvas = tkinter.Canvas(self.cframe, width=width, height=height, takefocus=0, bd=0, highlightthickness=0) self.scale = self.canvas.create_rectangle(-10, -10, 0, height, outline=color, fill=color) self.text = -1 if show_text: self.text = self.canvas.create_text(0, 0, anchor=tkinter.CENTER) self.cframe.grid_configure(column=0, row=0, sticky="ew") if images: self.f1 = tkinter.Label(self.frame, image=images[0]) self.f1.grid_configure(column=0, row=0, sticky="ew", ipadx=8, ipady=4) self.cframe.grid_configure(column=1, row=0, sticky="ew", padx=8) self.f2 = tkinter.Label(self.frame, image=images[1]) self.f2.grid_configure(column=2, row=0, sticky="ew", ipadx=8, ipady=4) self.top.config(cursor="watch") self.pack() if 1: setTransient(self.top, None, relx=0.5, rely=0.5) else: self.update(percent=0) self.norm = norm self.steps_sum = 0
def _makeform(self): entries = {} a_row = Tk.Frame(self.cond_window) Tk.Label(a_row, width=22, text='a11 :', anchor='w').pack(side=Tk.LEFT) a11_ent = Tk.Entry(a_row) a11_ent.insert(0, "1") a11_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X) Tk.Label(a_row, width=22, text='a22 :', anchor='w').pack(side=Tk.LEFT) a22_ent = Tk.Entry(a_row) a22_ent.insert(0, "0.000001") a22_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X) a_row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5) entries['a11'] = a11_ent entries['a22'] = a22_ent fd_row = Tk.Frame(self.cond_window) Tk.Label(fd_row, width=22, text='f :', anchor='w').pack(side=Tk.LEFT) f_ent = Tk.Entry(fd_row) f_ent.insert(0, "7") f_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X) Tk.Label(fd_row, width=22, text='d :', anchor='w').pack(side=Tk.LEFT) d_ent = Tk.Entry(fd_row) d_ent.insert(0, "0") d_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X) fd_row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5) entries['f'] = f_ent entries['d'] = d_ent row = Tk.Frame(self.cond_window) fields = ['Beta', 'Sigma', 'Uc'] Tk.Label(row, width=22, text='Boundaries', anchor='w').pack(side=Tk.LEFT) Tk.Label(row, width=22, text=fields[0], anchor='w').pack(side=Tk.LEFT) Tk.Label(row, width=22, text=fields[1], anchor='w').pack(side=Tk.LEFT) Tk.Label(row, width=22, text=fields[2], anchor='w').pack(side=Tk.LEFT) row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5) for boundary in self.delaunay_triangulation.triangulated_info['NTG']: row = Tk.Frame(self.cond_window) lab = Tk.Label(row, width=22, text=str(boundary) + ": ", anchor='w') lab.pack(side=Tk.LEFT) params = {} for key in fields: ent = Tk.Entry(row) ent.insert(0, "0.000001") ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X) params[key] = ent row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5) entries[boundary] = params return entries
def createFrames(self, kw): bottom_frame = tkinter.Frame(self.top) bottom_frame.pack(side='bottom', fill='both', expand=False, ipadx=3, ipady=3) if kw.separator: separator = tkinter.Frame( self.top, relief="sunken", height=2, width=2, borderwidth=1) separator.pack(side='bottom', fill='x') top_frame = tkinter.Frame(self.top) top_frame.pack(side='top', fill='both', expand=True) return top_frame, bottom_frame
def initialize(self): self.fn = None self.old_fn = None self.old_method = None self.old_fi = None self.AIM = None self.rmx = (368, 393) # matplotlib figure self.f = Figure(figsize=(2, 6)) self.gs = gridspec.GridSpec(2, 2, width_ratios=[1, 2]) self.gs.update(wspace=0.2, hspace=0.2) self.plt = [] self.plt.append(self.f.add_subplot(self.gs[0])) self.plt.append(self.f.add_subplot(self.gs[1])) self.plt.append( self.f.add_subplot(self.gs[2], sharex=self.plt[0], sharey=self.plt[0])) self.plt.append(self.f.add_subplot(self.gs[3])) for i in [0, 2]: self.plt[i].set_adjustable('box') # hide until have data for i in range(4): self.plt[i].axis("off") # tkinter # set default font size for buttons self.font = tkFont.Font(size=11) self.fontB = tkFont.Font(size=12, weight='bold') # frames top (buttons), text, matplotlib (canvas) self.main_container = tk.Frame(self.parent, height=10, width=100) self.main_container.pack(side="top", fill="both", expand=True) self.button_frame = tk.Frame(self.main_container) # self.info_frame = tk.Frame(self.main_container) self.matplotlib_frame = tk.Frame(self.main_container) self.button_frame.pack(side="top", fill="x", expand=True) # self.info_frame.pack(side="top", fill="x", expand=True) self.matplotlib_frame.pack(side="top", fill="both", expand=True) self._menus() self._button_area() self._plot_canvas() self._text_info_box()
def __init__(self, parent, radio_config, *args, **kwargs): tk.Frame.__init__(self, parent) self.parent = parent self.input_list = [] frame_ops = funcs.extract_args(kwargs, FRAME_KEYS, FRAME_KEY) frame = tk.Frame(self, frame_ops) frame.pack(fill='both', expand=True) label_ops = funcs.extract_args(kwargs, LABEL_KEYS, LABEL_KEY) label = tk.Label(frame, label_ops) tvar = tk.StringVar() label.pack(side='top', fill='x', expand=True) for radio_kwargs in radio_config: radio_ops = funcs.extract_args(radio_kwargs, RADIOBUTTON_KEYS, RADIOBUTTON_KEY) radio_ops['variable'] = tvar this_radio = tk.Radiobutton(frame, radio_ops) this_radio.pack(side='left', fill='x', expand=True) self.input_list.append(this_radio) self.parent.columnconfigure(0, weight=1) self.get = tvar.get self.set = tvar.set # self.state = lambda: change_state(self.entry) self.enable = self._enable self.normal = self._enable self.disable = self._disable self.clear = lambda: funcs.clear(entry)
def __init__(self, ax, master): self.ax = ax self.frame = Tk.Frame(master=master, relief=Tk.RAISED, borderwidth=2) self.textvar = dict() self.textvar['ra'] = Tk.StringVar() self.textvar['dec'] = Tk.StringVar() self.textvar['pitch'] = Tk.StringVar() self.textvar['phi'] = Tk.StringVar() self.textvar['earth_ra_cb'] = Tk.StringVar() self.textvar['earth_dec_cb'] = Tk.StringVar() Tk.Label(self.frame, text='RA, Dec').grid(row=0) Tk.Label(self.frame, text='Pitch, Phi').grid(row=1) Tk.Label(self.frame, text='Earth Alt, Az').grid(row=2) self.ra = Tk.Label(self.frame, textvariable=self.textvar['ra'], width=12) self.dec = Tk.Label(self.frame, textvariable=self.textvar['dec'], width=12) self.pitch = Tk.Label(self.frame, textvariable=self.textvar['pitch']) self.phi = Tk.Label(self.frame, textvariable=self.textvar['phi']) self.earth_ra_cb = Tk.Label(self.frame, textvariable=self.textvar['earth_ra_cb']) self.earth_dec_cb = Tk.Label(self.frame, textvariable=self.textvar['earth_dec_cb']) self.ra.grid(row=0, column=1) self.dec.grid(row=0, column=2) self.pitch.grid(row=1, column=1) self.phi.grid(row=1, column=2) self.earth_ra_cb.grid(row=2, column=2) self.earth_dec_cb.grid(row=2, column=1)
def body(self, master): tk.Label(master, text='Connection name:').grid(row=0) tk.Label(master, text='Catalog type:').grid(row=1) tk.Label(master, text='Root path:').grid(row=2) self.name = ttk.Entry(master) self.name.grid(row=0, column=1, sticky='ew') self.name.insert(0, self.connection_name) self.catalog_cbox = ttk.Combobox(master, values=config.catalog_types) self.catalog_cbox.grid(row=1, column=1, sticky='ew') self.catalog_cbox.set(self.catalog_type) self.root_path_entry = tk.Entry(master) self.root_path_entry.grid(row=2, column=1, sticky='ew') self.root_path_entry.insert(0, self.root_path) self.isdefault_var = tk.IntVar() self.isdefault_var.set(self.isdefault) self.set_default = tk.Checkbutton(master, text='make default connection', variable=self.isdefault_var) self.set_default.grid(row=3, column=1) self.catalog_config_frame = tk.Frame(master) self.catalog_config_frame.grid(row=4, sticky='nsew') self.catalog_type_changed(catalog_config=self.catalog_config) self.catalog_cbox.bind('<<ComboboxSelected>>', self.catalog_type_changed) self.result = None
def __init__(self, app, parent, title, **kw): self._url = kw['url'] 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) # self.button = kw.default frame = tkinter.Frame(top_frame) frame.pack(fill='both', expand=True, padx=kw.padx, pady=kw.pady) msg = tkinter.Label(frame, text=kw.text, justify=kw.justify, width=kw.width) msg.pack(fill='both', expand=True) font = tkinter_font.Font(parent, app.getFont('default')) font.configure(underline=True) url_label = tkinter.Label(frame, text=kw.url, font=font, foreground='blue', cursor='hand2') url_label.pack() url_label.bind('<1>', self._urlClicked) # focus = self.createButtons(bottom_frame, kw) self.mainloop(focus, kw.timeout)
def show_properties(self): """ This method displays image properties over new window. :return: None """ prop_win = tk.Toplevel() prop_win.title("iSyntax Properties") prop_win_width = self._window.winfo_screenwidth() * Constants.property_win_size_ratio[0] prop_win_height = self._window.winfo_screenheight() * Constants.property_win_size_ratio[1] prop_win.geometry("{}x{}+200+100".format(str(int(prop_win_width)), str(int(prop_win_height)))) prop_canvas = tk.Canvas(prop_win) scroll_y = tk.Scrollbar(prop_win, orient='vertical', command=prop_canvas.yview) scroll_x = tk.Scrollbar(prop_win, orient='horizontal', command=prop_canvas.xview) frame = tk.Frame(prop_canvas) row = 0 for prop in Constants.property_list: # Dynamically create Label Widgets for each property # Structure them in a grid tk.Label(frame, text=prop[0], foreground='black', font="Calibri 12").grid(sticky="w", row=row) tk.Label(frame, text=":", font="Calibri 14").grid(sticky="w", row=row, column=1) tk.Label(frame, text=str(prop[1]), foreground='blue', font="Calibri 14").grid(sticky="w", row=row, column=2) row += 1 prop_canvas.create_window(0, 0, anchor='nw', window=frame) prop_canvas.update_idletasks() scroll_y.pack(fill='y', side='right') scroll_x.pack(fill='x', side='bottom') prop_canvas.configure(scrollregion=prop_canvas.bbox('all'), yscrollcommand=scroll_y.set, xscrollcommand=scroll_x.set) prop_canvas.pack(fill='both', expand=True, side='left')
def __init__(self, parent, placeholder='', **kwargs): tk.Frame.__init__(self, parent) self.parent = parent frame_ops = funcs.extract_args(kwargs, FRAME_KEYS, FRAME_KEY) frame = tk.Frame(self, frame_ops) frame.pack(fill='both', expand=True) label_ops = funcs.extract_args(kwargs, LABEL_KEYS, LABEL_KEY) label = tk.Label(frame, label_ops) tvar = tk.StringVar() entry_ops = funcs.extract_args(kwargs, ENTRY_KEYS, ENTRY_KEY) entry_ops['textvariable'] = tvar self.entry = tk.Entry(frame, entry_ops) label.pack(side='top', fill='x', expand=True) self.entry.pack(side='bottom', fill='x', expand=True) # self.entry.focus_force() self.parent.columnconfigure(0, weight=1) self.insert = self.entry.insert self.delete = self.entry.delete self.get = self.entry.get self.set = tvar.set self.index = self.entry.index self.bind = self.entry.bind # self.state = lambda: change_state(self.entry) self.enable = lambda: funcs.set_state_normal(self.entry) self.normal = lambda: funcs.set_state_normal(self.entry) self.disable = lambda: funcs.set_state_disabled(self.entry) self.clear = lambda: funcs.clear(self.entry)
def __init__(self, parent, **kwargs): tk.Frame.__init__(self, parent) self.parent = parent frame_ops = funcs.extract_args(kwargs, FRAME_KEYS, FRAME_KEY) entry_ops = funcs.extract_args(kwargs, ENTRY_KEYS, ENTRY_KEY) button_ops = funcs.extract_args(kwargs, BUTTON_KEYS, BUTTON_KEY) frame = tk.Frame(self, **frame_ops) frame.pack(expand=1, fill=tk.BOTH) tvar = tk.StringVar() if 'text' in kwargs: tvar.set(kwargs['text']) entry = tk.Entry(frame, textvariable=tvar, **entry_ops) button = tk.Button(frame, command=frame.destroy, **button_ops) entry.pack(expand=1, side='left', fill=tk.X) button.pack(expand=1, side='right', fill=tk.X) self.parent.columnconfigure(0, weight=1) self.insert = entry.insert self.delete = entry.delete self.get = entry.get self.set = tvar.set self.index = entry.index self.bind = entry.bind # self.state = lambda: change_state(self.entry) self.enable = lambda: funcs.set_state_normal(entry) self.normal = lambda: funcs.set_state_normal(entry) self.disable = lambda: funcs.set_state_disabled(entry) self.clear = lambda: funcs.clear(entry)
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, game, stack): self.game = game self.stack = stack self.canvas = game.canvas self.bindings = [] font = game.app.getFont('canvas_small') # print self.app.cardset.CARDW, self.app.images.CARDW cardw = game.app.images.CARDW x, y = stack.x+cardw/2, stack.y text = stack.getHelp()+'\n'+stack.getBaseCard() text = text.strip() if text: frame = tkinter.Frame(self.canvas) self.frame = frame label = tkinter.Message(frame, font=font, text=text, width=cardw-8, relief='solid', fg='#000000', bg='#ffffe0', bd=1) label.pack() self.label = label self.id = self.canvas.create_window(x, y, window=frame, anchor='n') self.bindings.append( label.bind('<ButtonPress>', self._buttonPressEvent)) # self.bindings.append(label.bind('<Enter>', self._enterEvent)) else: self.id = None
def __init__(self, parent, odf): tk.Toplevel.__init__(self, parent) self.wm_title("Value set code") self.parent = parent self.newVal = None self.odf = odf self.showFrame = tk.Frame(self) self.textLabel = tk.Label(self.showFrame, text="Model name: ") self.textLabel.grid(row=0,column=0) self.modelName = tk.StringVar() self.modelName.set("model") self.modelEntry = tk.Entry(self.showFrame, textvariable=self.modelName, width=8) self.modelEntry.bind('<Return>', self._updateModelName) self.modelEntry.grid(row=0,column=1) self.showText = tk.Text(self.showFrame) self.showText.config(background='white') self.showText.grid(row=1,column=0,columnspan=2) #.pack(expand=True) self.clipboardButton = tk.Button(self.showFrame, text="Copy to Clipboard", command=self._copyToClipboard) self.clipboardButton.grid(row=2, column=0, columnspan=2) self.helpLabel = tk.Label(self.showFrame, text="You may use the above code for pasting...") self.helpLabel.grid(row=3, column=0, columnspan=2) self.showFrame.pack() self.protocol("WM_DELETE_WINDOW", self._windowClosed)
def _showNorm(self): """ Shows normalized data in a separate window. """ if self._normalizedDataShown: return self._normwin = tk.Tk() self._normwin.wm_title("Normalized spectrum") self._normwin.protocol("WM_DELETE_WINDOW", self._quitWin) # A frame containing the mpl plot self.normFrame = tk.Frame(master=self._normwin) self.normFrame.pack(fill=tk.BOTH, side=tk.LEFT, expand=True) self.normCanvas = FigureCanvasTkAgg(self.normf, master=self.normFrame) # a tk.DrawingArea self.normCanvas.get_tk_widget().pack() self.normToolbar = NavigationToolbar2TkAgg(self.normCanvas, self.normFrame) self.normToolbar.update() self.normCanvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=True) closeButton = tk.Button(master=self._normwin, text='Close', command=self._quitWin) closeButton.pack(side=tk.BOTTOM) self._normalizedDataShown = True self._updateNormalizationPlot()
def __init__(self, top, row, column, columnspan): self.top = top self._show = True self._widgets = [] self._tooltips = [] # self._row = row self._column = column self._columnspan = columnspan self._label_column = 0 # self.padx = 1 self.label_relief = 'sunken' self.frame = tkinter.Frame(self.top, bd=1) self.frame.grid(row=self._row, column=self._column, columnspan=self._columnspan, sticky='ew', padx=1, pady=1) if WIN_SYSTEM == 'win32': self.frame.config(relief='raised') self.padx = 0 if 0: self.frame.config(bd=0) self.label_relief = 'flat' self.padx = 0
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=5, pady=10) frame.columnconfigure(0, weight=1) self.demo_sleep_var = tkinter.DoubleVar() self.demo_sleep_var.set(app.opt.timeouts['demo']) self.hint_sleep_var = tkinter.DoubleVar() self.hint_sleep_var.set(app.opt.timeouts['hint']) self.raise_card_sleep_var = tkinter.DoubleVar() self.raise_card_sleep_var.set(app.opt.timeouts['raise_card']) self.highlight_piles_sleep_var = tkinter.DoubleVar() self.highlight_piles_sleep_var.set(app.opt.timeouts['highlight_piles']) self.highlight_cards_sleep_var = tkinter.DoubleVar() self.highlight_cards_sleep_var.set(app.opt.timeouts['highlight_cards']) self.highlight_samerank_sleep_var = tkinter.DoubleVar() self.highlight_samerank_sleep_var.set( app.opt.timeouts['highlight_samerank']) # # tkinter.Label(frame, text='Set delays in seconds').grid( # row=0, column=0, columnspan=2) row = 0 for title, var in ( (_('Demo:'), self.demo_sleep_var), (_('Hint:'), self.hint_sleep_var), (_('Raise card:'), self.raise_card_sleep_var), (_('Highlight piles:'), self.highlight_piles_sleep_var), (_('Highlight cards:'), self.highlight_cards_sleep_var), (_('Highlight same rank:'), self.highlight_samerank_sleep_var), ): tkinter.Label(frame, text=title, anchor='w').grid(row=row, column=0, sticky='we') widget = tkinter.Scale(frame, from_=0.2, to=9.9, resolution=0.1, orient='horizontal', length="3i", variable=var, takefocus=0) widget.grid(row=row, column=1) row += 1 # focus = self.createButtons(bottom_frame, kw) self.mainloop(focus, kw.timeout) # self.demo_timeout = self.demo_sleep_var.get() self.hint_timeout = self.hint_sleep_var.get() self.raise_card_timeout = self.raise_card_sleep_var.get() self.highlight_piles_timeout = self.highlight_piles_sleep_var.get() self.highlight_cards_timeout = self.highlight_cards_sleep_var.get() self.highlight_samerank_timeout = \ self.highlight_samerank_sleep_var.get()
def _get_groupframe(self, group): if group not in self._groups: if self._groups: self._add_separator() frame = Tk.Frame(master=self, borderwidth=0) frame.pack(side=Tk.LEFT, fill=Tk.Y) self._groups[group] = frame return self._groups[group]
def __init__(self, parent, title, top, **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) cnf = { 'master': top_frame, 'highlightthickness': 1, 'highlightbackground': 'black', } frame = tkinter.Frame(**cnf) frame.pack(expand=True, fill='both', padx=10, pady=10) frame.columnconfigure(0, weight=1) cnf['master'] = frame cnf['text'] = _('N') label = tkinter.Label(**cnf) label.grid(row=0, column=0, sticky='ew') cnf['text'] = _('Game number') label = tkinter.Label(**cnf) label.grid(row=0, column=1, sticky='ew') cnf['text'] = _('Started at') label = tkinter.Label(**cnf) label.grid(row=0, column=2, sticky='ew') cnf['text'] = _('Result') label = tkinter.Label(**cnf) label.grid(row=0, column=3, sticky='ew') row = 1 for i in top: # N cnf['text'] = str(row) label = tkinter.Label(**cnf) label.grid(row=row, column=0, sticky='ew') # Game number cnf['text'] = '#' + str(i.game_number) label = tkinter.Label(**cnf) label.grid(row=row, column=1, sticky='ew') # Start time t = time.strftime('%Y-%m-%d %H:%M', time.localtime(i.game_start_time)) cnf['text'] = t label = tkinter.Label(**cnf) label.grid(row=row, column=2, sticky='ew') # Result if isinstance(i.value, float): # time s = format_time(i.value) else: # moves s = str(i.value) cnf['text'] = s label = tkinter.Label(**cnf) label.grid(row=row, column=3, sticky='ew') row += 1 focus = self.createButtons(bottom_frame, kw) self.mainloop(focus, kw.timeout)
def _Spacer(self): # Buttons are 30px high, so make this 26px tall with padding to center it s = Tk.Frame(master=self, height=26, relief=Tk.RIDGE, pady=2, bg="DarkGray") s.pack(side=Tk.LEFT, padx=5) return s
def createCanvas(self, kw): bd = kw['bd'] kw['bd'] = 0 relief = kw['relief'] del kw['relief'] frame = tkinter.Frame(self.frame, bd=bd, relief=relief) frame.grid(row=0, column=0, sticky="news") self.canvas = MfxCanvas(frame, **kw) self.canvas.pack(expand=True, fill='both')
def create_widgets(): global list_box, canvas list_box = tkinter.Listbox(root, exportselection=False) list_box.grid(row=0, column=0, rowspan=2, sticky=tkinter.NS) list_box.bind('<<ListboxSelect>>', show_cardset) scroll_bar = tkinter.Scrollbar(root) scroll_bar.grid(row=0, column=1, rowspan=2, sticky=tkinter.NS) list_box.config(yscrollcommand=scroll_bar.set) scroll_bar.config(command=list_box.yview) # create Canvas canvas = tkinter.Canvas(root, width=600, height=600, 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')) canvas.bind_all("<MouseWheel>", on_mousewheel) scroll_bar = tkinter.Scrollbar(root) scroll_bar.grid(row=0, column=3, sticky=tkinter.NS) canvas.config(yscrollcommand=scroll_bar.set) scroll_bar.config(command=canvas.yview) scroll_bar = tkinter.Scrollbar(root, orient=tkinter.HORIZONTAL) scroll_bar.grid(row=1, column=2, sticky=tkinter.EW) canvas.config(xscrollcommand=scroll_bar.set) scroll_bar.config(command=canvas.xview) # create buttons 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.destroy, width=8) button.pack(side=tkinter.RIGHT) button = tkinter.Button(b_frame, text='Info', command=show_info, width=8) button.pack(side=tkinter.RIGHT) button = tkinter.Button(b_frame, text='Config', command=show_config, width=8) button.pack(side=tkinter.RIGHT) button = tkinter.Button(b_frame, text='Select Directory', command=select_dir, width=14) button.place(x=200, y=0) root.columnconfigure(2, weight=1) root.rowconfigure(0, weight=1) root.title('Show Cardsets') root.wm_geometry("%dx%d+%d+%d" % (800, 600, 40, 40)) return root
def _GuiLogo(self): """Creates the UI graphical logo.""" self.logo_frame = tk.Frame(self.root) self.logo_frame.columnconfigure(0, weight=1) r = resources.Resources() path = r.GetResourceFileName('logo.gif') self.logo_img = tk.PhotoImage(file=path) self.logo = tk.Label(self.logo_frame, image=self.logo_img, text='logo here') self.logo.grid(column=0, row=0, sticky='SE') self.logo_frame.grid(column=0, row=self.row, sticky='EW') self.row += 1
def __init__(self): # ===============GUI items initializarion=============== self.root = Tk.Tk() self.root.wm_title("MathsPhysics") self.text_frame = Tk.Frame(master=self.root) self.text = Tk.Text(self.text_frame) self.text_scrollbar = Tk.Scrollbar(self.text_frame) self.text.config(yscrollcommand=self.text_scrollbar.set) self.text.pack(side=Tk.LEFT, fill=Tk.BOTH, expand=1) self.text_scrollbar.config(command=self.text.yview) self.text_scrollbar.pack(side=Tk.RIGHT, fill=Tk.Y) self.fig = plt.figure(figsize=(5, 5)) #(dpi=100) # figsize=(5, 4), self.canvas = FigureCanvasTkAgg(self.fig, master=self.root) # A tk.DrawingArea. self.canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) # canvas.draw() self.toolbar = NavigationToolbar2TkAgg(self.canvas, self.root) self.toolbar.update() self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self.text_frame.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self.menubar = Tk.Menu(self.root) self.filemenu = Tk.Menu(self.menubar, tearoff=0) self.filemenu.add_command(label="Load input", command=self._load_data) self.filemenu.add_command(label="Triangulate", command=self._triangulate) self.filemenu.add_command(label="Compare", command=self._compare) self.filemenu.add_command(label="Set conditions", command=self._ask_conds) self.filemenu.add_command(label="Solve", command=self._solve) # Do nothing self.filemenu.add_separator() self.filemenu.add_command(label="Quit", command=self._quit) self.menubar.add_cascade(label="Menu", menu=self.filemenu) self.root.config(menu=self.menubar) # conditions window self.cond_window = None # ============================================================ self.delaunay_triangulation = None self.entries = None self.fem_solver = None self.solver = None self.solution = None self.x_vertices = None self.y_vertices = None # ============================================================= self.tester = None
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) self.app = app # self.update_stats_var = tkinter.BooleanVar() self.update_stats_var.set(app.opt.update_player_stats != 0) self.confirm_var = tkinter.BooleanVar() self.confirm_var.set(app.opt.confirm != 0) self.win_animation_var = tkinter.BooleanVar() self.win_animation_var.set(app.opt.win_animation != 0) # frame = tkinter.Frame(top_frame) frame.pack(expand=True, fill='both', padx=5, pady=10) widget = tkinter.Label( frame, text=_("\nPlease enter your name"), # justify='left', anchor='w', takefocus=0) widget.grid(row=0, column=0, columnspan=2, sticky='ew', padx=0, pady=5) w = kw.get("e_width", 30) # width in characters self.player_var = tkinter.Entry(frame, exportselection=1, width=w) self.player_var.insert(0, app.opt.player) self.player_var.grid(row=1, column=0, sticky='ew', padx=0, pady=5) widget = tkinter.Button(frame, text=_('Choose...'), command=self.selectUserName) widget.grid(row=1, column=1, padx=5, pady=5) widget = tkinter.Checkbutton(frame, variable=self.confirm_var, anchor='w', text=_("Confirm quit")) widget.grid(row=2, column=0, columnspan=2, sticky='ew', padx=0, pady=5) widget = tkinter.Checkbutton(frame, variable=self.update_stats_var, anchor='w', text=_("Update statistics and logs")) widget.grid(row=3, column=0, columnspan=2, sticky='ew', padx=0, pady=5) # widget = tkinter.Checkbutton(frame, variable=self.win_animation_var, # text="Win animation") # widget.pack(side='top', padx=kw.padx, pady=kw.pady) frame.columnconfigure(0, weight=1) # self.player = self.player_var.get() self.confirm = self.confirm_var.get() self.update_stats = self.update_stats_var.get() self.win_animation = self.win_animation_var.get() # focus = self.createButtons(bottom_frame, kw) self.mainloop(focus, kw.timeout)
def __init__(self, parent, title, app, manager, key=None, **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) # if key is None: key = manager.getSelected() self.app = app self.manager = manager self.key = key self.table_color = app.opt.colors['table'] if self.TreeDataHolder_Class.data is None: self.TreeDataHolder_Class.data = self.TreeData_Class(manager, key) # self.top.wm_minsize(400, 200) if self.top.winfo_screenwidth() >= 800: w1, w2 = 200, 400 else: w1, w2 = 200, 300 font = app.getFont("default") padx, pady = 4, 4 frame = tkinter.Frame(top_frame) frame.pack(fill='both', expand=True, padx=kw.padx - padx, pady=kw.pady - pady) self.tree = self.Tree_Class(self, frame, key=key, default=kw.default, font=font, width=w1) self.tree.frame.pack(side="left", fill='both', expand=False, padx=padx, pady=pady) self.preview = MfxScrolledCanvas(frame, width=w2, hbar=0, vbar=0) self.preview.pack(side="right", fill='both', expand=True, padx=padx, pady=pady) self.preview.canvas.preview = 1 # create a preview of the current state self.preview_key = -1 self.updatePreview(key) # focus = self.createButtons(bottom_frame, kw) focus = self.tree.frame self.mainloop(focus, kw.timeout)
def __init__(self, parent, odf): tk.Toplevel.__init__(self, parent) self.wm_title("Parameter Summary") self.parent = parent self.newVal = None self.showFrame = tk.Frame(self) self.showText = tk.Text(self.showFrame) self.showText.config(background='white') self.showText.pack(fill=tk.BOTH, expand=True) self.showFrame.pack(fill=tk.BOTH, expand=True) self.protocol("WM_DELETE_WINDOW", self._windowClosed)
def show_info(*args): if list_box.curselection(): cs_name = list_box.get(list_box.curselection()) cs = cardsets_dict[cs_name] fn = os.path.join(cs.dir, 'COPYRIGHT') top = tkinter.Toplevel() text = tkinter.Text(top) text.insert('insert', open(fn).read()) text.pack(expand=tkinter.YES, fill=tkinter.BOTH) b_frame = tkinter.Frame(top) b_frame.pack(fill=tkinter.X) button = tkinter.Button(b_frame, text='Close', command=top.destroy) button.pack(side=tkinter.RIGHT)