def __init__(self): root = Tk() # Create the main window root.title("Multiple Traffic Lights") # Set title bar text self.lights = [] # The outer frame holds the nine inner frames that each contain # a canvas and a button. outer_frame = Frame(root) outer_frame.pack() # Create nine drawing surfaces within the window for i in range(1, 10): f = Frame(outer_frame, borderwidth=2, relief=GROOVE) f.grid(row=0, column=i) c = Canvas(f, width=20 * i, height=250) c.grid(row=0, column=0) self.lights.append(TrafficLight(5 * i, 10, 10 * i, c)) #b = Button(f, text="Change", command=lambda x=i: lights[x - 1].change()) b = Button(f, text="Change", command=partial(self.do_button_press, i - 1)) b.grid(row=1, column=0) # Start the GUI event loop root.mainloop()
def addOuter(self, parent: Frame, key: Entry, val: Entry, name: str = '') -> None: def remOuter(): frm.destroy() i = self.datadict[key][val].index(ent) self.datadict[key][val].pop(i) frm = Frame(master=parent, pady=1) frm.grid() remBtn = Button(master=frm, text='Delete', style='sm.TButton', command=remOuter) remBtn.grid(column=0, row=0, sticky='ne', pady=3) ent = Entry(master=frm) ent.insert(0, name) ent.grid(column=1, row=0, sticky='w', padx=3, pady=3) self.datadict[key][val].append(ent) self.dataScrl.redraw()
def __init__(self): root = Tk() # Create the main window root.title("Multiple Traffic Lights") # Set title bar text f = Frame(root) f.pack() # Create a drawing surface within the window canvas = Canvas(f, width=800, height=600) # Make a list of random traffic light objects color_list = ["red", "yellow", "green"] self.light_list = [] for i in range(50): self.light_list.append( TrafficLight(randrange(2, 700), randrange(2, 400), randrange(5, 120), canvas, choice(color_list))) # Create a graphical button and ensure it calls the do_button_press # function when the user presses it button = Button(f, text='Change', command=self.do_button_press) # Position button and canvas objects button.grid(row=0, column=0) canvas.grid(row=0, column=1) # Start the GUI event loop root.mainloop()
def make_auto_open(self, parent): auto_f = Frame(parent) self.do_open = IntVar(auto_f, value=1) cb = Checkbutton( auto_f, variable=self.do_open, text="Automatically open files after annotation complete") cb.bind("<Button-1>", self.check_box_callback) cb.grid(row=1, column=1, sticky="NW", columnspan=3) if self.default_program_path and self.default_program_path.exists(): self.program_path = self.default_program_path else: self.program_path = plp.home() for i in self.program_locations: if i.exists(): self.program_path = i program_path_view = StringVar(auto_f, "") self.text_view_limit(self.program_path, program_path_view, width=self.width) Label(auto_f, text="Select ApE program:", justify="left").grid(row=2, column=1, sticky="SNW", columnspan=2) kw = { "method": tfd.askopenfilename, "path_var": "program_path", "title": "Select ApE program", "str_var": program_path_view, "width": self.width } Button(auto_f, textvariable=program_path_view, command=self.path_callback(**kw), width=35, style="B.TButton").grid(row=2, column=3, sticky="NSW", columnspan=3) self.check_box_callback(cb) return auto_f
def popup_bonus(): win = tk.Toplevel() win.geometry("300x300+120+120") win.iconbitmap("assets/letterm.ico") win.wm_title("Help") win.resizable(False, False) frame_popup = Frame(win) frame_popup.pack(fill=BOTH) help_text = "File: The path to the transcript file. The file must be a Word doc." \ "\n\nList of phrases: List of sentences to search the text for. Include " \ "all punctuation and start each new sentence one a new line. \n\nThreshold: When given a threshold, " \ "the program will only display sentences that are correlated to the input phrases above the given " \ "value. Default is 0. Must be a decimal value between 0 and 1.\n\nSymbol: Not implemented yet." lbl_phrases = Message(frame_popup, text=help_text, width=280) lbl_phrases.pack(side=LEFT, padx=(5, 9), pady=7) frame_okay = Frame(win) frame_okay.pack(side='bottom', fill=BOTH) b = Button(frame_okay, text="Okay", command=win.destroy) b.pack(pady=(5, 35))
def _add_button_to_frame_grid( cls, frame_and_name: FrameAndName, text: str, row: int, column: int, image: PhotoImage = None, padx: int = None, pady: int = None, sticky: GridPositionEnum = GridPositionEnum.NONE) -> Button: cls._debug(f'Add Button Grid [{text}] Row [{row}] Column [{column}]') button = Button(frame_and_name.frame, text=text, image=image) # Prevent GC delete image if image: button.image = image button.grid(row=row, column=column, sticky=sticky.value, padx=padx, pady=pady) return button
def fillable(self): self.text.config(width=50, height=1, state=NORMAL) self.text.delete("0.0", END) self.text.insert( INSERT, "Empty the rows and fill in the appropriate data to make a prediction based on the best model." ) self.text.config(width=100, height=1, state=DISABLED) self.button3 = Button(root, text="confirm", command=lambda: [self.confirmdata()]) self.button3.pack(side=BOTTOM, pady=5) self.listbox4 = tk.Listbox(root) self.listbox4.pack(side=BOTTOM, padx=50) if self.advance == 'yes': self.topXText = [] for i in self.listbox2.get(0, END): self.textdata = Text( root, height=2, width=52, ) self.topXText.append(self.textdata) self.textdata.insert(INSERT, i) self.textdata.pack() self.button4.destroy() self.button5.destroy() else: self.topXText = [] for i in self.main.topX: self.textdata = Text( root, height=2, width=52, ) self.topXText.append(self.textdata) self.textdata.insert(INSERT, i) self.textdata.pack()
def __init__(self, master, overview): #228 107 self.top = Toplevel(master, padx=50, pady=5) self.top.title("Add Coin") #Label(self.top, text="Add coin").grid(row=0,column=0,columnspan=2,sticky="NEWS") exch = ["Bittrex", "Binance"] mark = ["BTC", "ETH", "BNB", "USDT"] self.c = Combobox(self.top, values=exch, width=10) self.c.set(exch[0]) self.c.grid(row=0, column=0, columnspan=2, sticky="NEWS") self.m = Combobox(self.top, values=mark, width=10) self.m.set(mark[0]) self.m.grid(row=1, column=0, sticky="NEWS") self.e = Entry(self.top) self.e.focus_set() self.e.grid(row=1, column=1, columnspan=1, sticky="NEWS") Button(self.top, text='Ok', command=self.cleanup).grid(row=2, column=0, columnspan=2) ##center after packing center(self.top, master)
def __init__(self, root, mr: MetaRecord): super().__init__(root, padding=10) self.pack(side=TOP, anchor=N, fill=BOTH, expand=True) self.metarecord = mr self.tree = Treeview(self, padding=5, selectmode="browse") self.tree.heading("#0", text="Files") self.tree.pack(fill=BOTH, expand=True) self.frm_btns = Frame(self, padding=5) self.frm_btns.pack(side=BOTTOM, anchor=S) self.btn_include = Button(self.frm_btns, text="Perform Clean", command=self._perform_clean) self.btn_include.pack(side=RIGHT, anchor=W) self.frm_status = StatusFrame(self) self.frm_status.pack(side=TOP, anchor=N, fill=X, expand=True) self.cleaner = Cleaner(mr) self._setup_tree()
def __init__(self, args, picker_type): tk.Tk.__init__(self) self.picker_type = picker_type self.title("test") self.geometry(f"{WIDTH}x{HEIGHT}") f = Frame(self) f.pack(expand=1, fill="both") self.l = Label(f, anchor="center") self.l.pack(side="top", expand=1, fill="both") if args.file: text = "Pick a file!" elif args.dir: text = "Pick a folder!" else: #Not used text = "Pick something!" Button( f, text=text, command=lambda: threader.add_thread(self.get_input ) #Lambda function to ).pack(expand=0, side="bottom")
def create_convert_widgets(self, notebook): frame = tk.Frame(notebook) self.convert_file_list = FileListView(frame) self.convert_file_list.pack(padx=0, pady=0, fill=tk.BOTH, expand=True) self.copy_titles = tk.IntVar() copy_titles_checkbox = Checkbutton(frame, text='Titel kopieren', variable=self.copy_titles) copy_titles_checkbox.pack(padx=PADX, pady=PADY, anchor=tk.W) self.remove_newline = tk.IntVar() remove_newline_checkbox = Checkbutton(frame, text='Zeilenumbrüche entfernen', variable=self.remove_newline) remove_newline_checkbox.pack(padx=PADX, pady=PADY, anchor=tk.W) self.remove_clefs = tk.IntVar() remove_clefs_checkbox = Checkbutton(frame, text='Notenschlüssel entfernen', variable=self.remove_clefs) remove_clefs_checkbox.pack(padx=PADX, pady=PADY, anchor=tk.W) self.add_section_break = tk.IntVar() add_section_break_checkbox = Checkbutton(frame, text='Abschnittsumbrüche einfügen', variable=self.add_section_break) add_section_break_checkbox.pack(padx=PADX, pady=PADY, anchor=tk.W) self.fix_key_sig = tk.IntVar() fix_key_sig_checkbox = Checkbutton(frame, text='Tonart C-Dur fixen', variable=self.fix_key_sig) fix_key_sig_checkbox.pack(padx=PADX, pady=PADY, anchor=tk.W) convert_button = Button(frame, text='Konvertieren...', command=self.on_convert) convert_button.pack(padx=PADX, pady=PADY) return frame
def gen_pickel_file_entry(master, label_text, button_text, grid_on=False, irow=None, icol=None): def enter_filename(): file = filedialog.askopenfilename(initialdir='.', title="Select file", filetypes=(("preproc files", ".pickle"), ("all files", "*.*"))) entry.delete(0, END) entry.insert(0, file) label = Label(master, text=label_text) entry = Entry(master, style='grey.TEntry') entry.insert(END, 'output_directory/preproc.pickle') button = Button(master, text=button_text, command=enter_filename) if grid_on: grid_widgets_line(master, [label, entry, button], irow, icol) return label, entry, button
def initUI(self): # self.root = tk.Tk() # self.root.protocol("WM_DELETE_WINDOW", self.callback) self.parent.title("TextFrameTry01 init title only") self.pack(fill=BOTH, expand=True) self.grid_columnconfigure(4, weight=1) self.grid_rowconfigure(3, weight=1) lbl1 = Label(self, text="Digits:") lbl1.grid(row=0, column=0, sticky=E, padx=10, pady=10) self.ent1 = Entry(self, width=10) self.ent1.insert(END, "4000") self.ent1.grid(row=0, column=1, sticky=W) lbl2 = Label(self, text="Accuracy:") lbl2.grid(row=0, column=2, sticky=E, padx=10, pady=10) self.ent2 = Entry(self, width=10) self.ent2.insert(END, "100") self.ent2.grid(row=0, column=3, sticky=W) self.startBtn = Button(self, text="Start", command=self.onStart) self.startBtn.grid(row=1, column=0, padx=10, pady=5, sticky=W) self.pbar = Progressbar(self, mode='indeterminate') self.pbar.grid(row=1, column=1, columnspan=3, sticky=W + E) self.txt = st.ScrolledText(self) self.txt.grid(row=2, column=0, rowspan=4, padx=10, pady=5, columnspan=5, sticky=E + W + S + N)
def initUI(self): # self.pack(fill=BOTH, expand=1) self.parent.title("Галерея") #Название окна self.style = Style() #Стиль ??? self.style.theme_use("default") #Темы для окна, еще есть alt, classic frame_left_top = Frame(self.parent, bg = 'green')#создание рамки frame_right_top = Frame(self.parent, bg = 'red') frame_left_top.pack(side=TOP, anchor="sw")#положение рамки frame_right_top.pack(side=TOP, anchor='sw') photo = Image.open("2.jpg")#ссылка на отображаемую картинку photo.thumbnail((600,600), Image.ANTIALIAS)#изменение размеров картинки galary_photo = ImageTk.PhotoImage(photo)#загрузка в Tk labal_galary = Label(frame_left_top, image=galary_photo) #создание Lebel labal_galary.image = galary_photo #сохранение ссылки, чтоб не съел сборщик мусора labal_galary.pack(anchor='center', padx=40, pady=25)#позиция картинки и отступы # imagesprite = canvas.create_image(0, 0, image=galary_photo) bt_galary = Button(frame_right_top, text='галерея', command=self.init_galary()) bt_galary.pack(side=TOP, anchor='s', padx=40, pady=25)
def _multistatus_bar(parent): # htest # from tkinter import Toplevel, Text from tkinter.ttk import Frame, Button top = Toplevel(parent) x, y = map(int, parent.geometry().split('+')[1:]) top.geometry("+%d+%d" % (x, y + 175)) top.title("Test multistatus bar") frame = Frame(top) text = Text(frame, height=5, width=40) text.pack() msb = MultiStatusBar(frame) msb.set_label("one", "hello") msb.set_label("two", "world") msb.pack(side='bottom', fill='x') def change(): msb.set_label("one", "foo") msb.set_label("two", "bar") button = Button(top, text="Update status", command=change) button.pack(side='bottom') frame.pack()
def add_file_info_box(self, mainframe, name, labeldict, btncallback, fvar): """ Create and add a infobox containing the info about a loaded savegame. """ title = { 'source': 'Copy face from source file:', 'target': 'To target file:' } frame = LabelFrame(mainframe, text=title[name]) frame.pack(anchor=N, fill=X, expand=1, side=TOP, padx=0, pady=0) frame.columnconfigure(1, weight=1) btn = Button(frame, text='Browse', command=btncallback) btn.grid(column=0, row=0, padx=2, pady=2) field = Entry(frame, width=50, textvariable=fvar) field.grid(column=1, row=0, columnspan=2, padx=2, pady=2, sticky=W + E) l = ('name', 'gender', 'level', 'race', 'location', 'save number', 'playing time') for n, (i, j) in enumerate([(x.capitalize() + ':', x) for x in l]): Label(frame, text=i, state=DISABLED).grid(column=0, row=n + 1, padx=4, pady=3, sticky=E) labeldict[j] = StringVar() Label(frame, textvariable=labeldict[j]).grid(column=1, row=n + 1, padx=4, pady=3, sticky=W) self.screenshot[name] = Label(frame) self.screenshot[name].grid(column=2, row=1, rowspan=len(l), padx=4, pady=4)
def initUI(self): #hàm thiết lập UI self.parent.title('Bài Tập Lớn') #tạo tiêu đề cho khung Tkinter self.pack(fill = BOTH, expand = 1) Style().configure("TFrame", background="#333") bard = Image.open("logo.png") bardejov = ImageTk.PhotoImage(bard) label1 = Label(self, image = bardejov) label1.image = bardejov label1.place(x = 0, y = 0) introd = Button(self, text = "General Introduction", command = self.onIntro) introd.grid(padx = 10, pady = 20) introd.place(x = 150, y = 10) resize = Button(self, text = "Scaling", command = self.onResize) resize.grid(row = 1, column = 0) resize.place(x = 170, y = 50) transl = Button(self, text = "Translation", command = self.onTranslation) transl.grid(row = 2, column = 0) transl.place(x = 170, y = 80) rotate = Button(self, text = "Rotate", command = self.onRotate) rotate.grid(row = 3, column = 0) rotate.place(x = 170, y = 110) affine = Button(self, text = "Affine Transform", command = self.onAffine) affine.grid(row = 4, column = 0) affine.place(x = 157, y = 140) perspt = Button(self, text = "Perspective Transform", command = self.onPerspect) perspt.grid(row = 5, column = 0) perspt.place(x = 142, y = 170) applic = Button(self, text = "Application", command = self.onApply) applic.grid(row = 5, column = 0) applic.place(x = 170, y = 200) exit11 = Button(self, text = "Exit", command = self.onQuit) exit11.grid(row = 6, column = 0) exit11.place(x = 170, y = 270)
def config_statistic_screen(): global by_company, by_departments, by_individual, back, comparison, agesstat, download objects = [departments_button, statistic_button, quit_button] for object_name in objects: object_name.destroy() by_company = Button(window, text="По всей компании", command=by_company_screen) by_company.place(x=25, y=50) by_departments = Button(window, text="По отделам", command=by_departments_screen) by_departments.place(x=25, y=85) by_individual = Button(window, text="Индивидуально", command=by_individual_screen) by_individual.place(x=25, y=120) comparison = Button(window, text="Сравнить срезы", command=comparison_screen) comparison.place(x=225, y=50) download = Button(window, text="Загрузить старый срез", command=download_screen) download.place(x=225, y=85) agesstat = Button(window, text="Статистика по стажу", command=by_experience_screen) agesstat.place(x=225, y=120) back = Button(window, text="Вернуться в меню", command=config_main_screen) back.place(x=125, y=190)
def __init__(self, parent, title, imageFile, body): super(DialogAbout, self).__init__(parent) self.parent = parent parentGeometry = re.match("(\d+)x(\d+)[+]?([-]?\d+)[+]?([-]?\d+)", parent.geometry()) dialogX = int(parentGeometry.group(3)) dialogY = int(parentGeometry.group(4)) self.transient(self.parent) self.title(title) frame = Frame(self) image = PhotoImage(file=imageFile) aboutImage = Label(frame, image=image) aboutBody = Label(frame, text=body, wraplength=500) okButton = Button(frame, text=_("OK"), command=self.ok) okButton.focus_set() aboutImage.grid(row=0, column=0, sticky=NW, pady=20, padx=16) aboutBody.grid(row=0, column=1, columnspan=2, sticky=EW, pady=3, padx=0) okButton.grid(row=1, column=2, sticky=EW, pady=3) frame.grid(row=0, column=0, sticky=(N, S, E, W)) frame.columnconfigure(1, weight=1) window = self.winfo_toplevel() window.columnconfigure(0, weight=1) self.geometry("+{0}+{1}".format(dialogX + 200, dialogY + 200)) self.bind("<Alt-u>", lambda *ignore: okButton.focus_set()) self.bind("<Return>", self.ok) self.bind("<Escape>", self.close) self.protocol("WM_DELETE_WINDOW", self.close) self.grab_set() self.wait_window(self)
def __init__(self, master, app, *args, **kwargs): super().__init__(master, *args, **kwargs) l = Label(self, text='Data', font='Verdana 8 bold') l.pack(side='top', anchor='nw', padx=10) app.datanote = Notebook(self) fdframe = Frame(app.datanote) app.datanote.add(fdframe, text="Data", compound="top") app.table = FrameDataTable(fdframe) app.table.pack(side="top", fill='both', expand=1) dtbframe = Frame(app.datanote) app.datanote.add(dtbframe, text="Debug", compound='top') print("defining debug txt box ") app.debug_txt_box = Text(dtbframe) app.debug_txt_box.pack(side="top", fill='both', expand=1) app.datanote.pack(side="top", fill='both', expand=1) inpvarframe = Frame(self) inpvarframe.pack(side='top', fill='both', anchor='n') clearbtn = Button(inpvarframe, text='Clear', width=12) clearbtn.pack(side='right', padx=5, pady=10, anchor='ne') clearbtn.bind("<Button 1>", lambda e: app.clear_table(event=e)) recframe = Frame(inpvarframe) recframe.pack(side="right") Label(recframe, text="Record", font="Verdana 10").pack(side="top") app.recvar = StringVar() app.record_box = Checkbutton(recframe) app.record_box.bind("<Button-1>", app.toggle_record) app.record_box.pack(side='right') app.record_box.invoke() app.record_box.invoke()
def reset(self): ''' new files should default to not showing dicom unless it has already been processed ''' # hide frame navigation widgets # self.grid_remove() self.zframe.shown = False self.zframe.setImage(None) self.frame.destroy() self.frame = Frame(self.frame_holder) self.frame.pack(expand=True) self.reader = None if self.app.Data.getFileLevel('.dicom'): self.mode = 'dicom' elif self.app.Data.getFileLevel('.ult'): self.mode = 'ult' else: self.mode = None self.method.set('') options = [x.label for x in READERS[self.mode]] or ['[no ultrasound]'] self.methodMenu = OptionMenu(self.frame, self.method, '---', *options, command=self.chooseMethod) self.methodMenu.grid(row=0) self.loadBtn = Button(self.frame, text='Load frames', command=self.load, takefocus=0, state='disabled') self.loadBtn.grid(row=1) if len(READERS[self.mode]) == 1: self.method.set(options[0]) self.chooseMethod()
def __init__(self, root): self.root = root self.root.geometry("300x130+500+200") frame1 = Frame(self.root) frame1.pack(fill=X) lbl1 = Label(frame1, text="Signal span:", width=20) lbl1.pack(side=LEFT, padx=5, pady=5) global T9 T9 = Text(frame1, height=1) T9.pack(fill=X, padx=5, pady=5) global signal_span, fast_span, slow_span T9.insert(END, str(signal_span)) frame2 = Frame(self.root) frame2.pack(fill=X) lbl2 = Label(frame2, text="Fast EMA span:", width=20) lbl2.pack(side=LEFT, padx=5, pady=5) global T10 T10 = Text(frame2, height=1) T10.pack(fill=X, padx=5, pady=5) T10.insert(END, str(fast_span)) frame3 = Frame(self.root) frame3.pack(fill=X) lbl3 = Label(frame3, text="Slow EMA span:", width=20) lbl3.pack(side=LEFT, padx=5, pady=5) global T11 T11 = Text(frame3, height=1) T11.pack(fill=X, padx=5, pady=5) T11.insert(END, str(slow_span)) frame4 = Frame(self.root) frame4.pack(fill=X) closeButton1 = Button(frame4, command=self.set_span, text="Set values") closeButton1.pack(side=LEFT, padx=5, pady=5)
def _license(self): """ affiche la licence dans une nouvelle fenêtre """ def close(): """ ferme la fenêtre """ self.focus_set() fen.destroy() fen = Toplevel(self, class_='Scheduler') fen.title(_("License")) fen.transient(self) fen.protocol("WM_DELETE_WINDOW", close) fen.resizable(0, 0) fen.grab_set() texte = Text(fen, width=50, height=18) texte.pack() texte.insert("end", _("Scheduler is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\n")) texte.insert("end", _("Scheduler is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\n")) texte.insert("end", _("You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.")) i = int(texte.index("5.end").split(".")[1]) texte.tag_add("link", "5.%i" % (i - 29), "5.%i" % (i - 1)) texte.tag_configure("link", foreground="#0000ff", underline=1) texte.tag_bind("link", "<Button - 1>", lambda event: webOpen("http://www.gnu.org/licenses/")) texte.tag_bind("link", "<Enter>", lambda event: texte.config(cursor="hand1")) texte.tag_bind("link", "<Leave>", lambda event: texte.config(cursor="")) texte.configure(state="disabled", wrap="word") b_close = Button(fen, text=_("Close"), command=close) b_close.pack(side="bottom") b_close.focus_set() fen.wait_window(fen)
def xbrlDBdialogRssWatchDBconnection(dialog, frame, row, options, cntlr, openFileImage, openDatabaseImage): from tkinter import PhotoImage, N, S, E, W try: from tkinter.ttk import Button from tkinter.simpledialog import askstring except ImportError: from ttk import Button from arelle.CntlrWinTooltip import ToolTip from arelle.UiUtil import gridCell, label # add sphinx formulas to RSS dialog def enterConnectionString(): from arelle.DialogUserPassword import askDatabase # (user, password, host, port, database) db = askDatabase( cntlr.parent, dialog.cellDBconnection.value.split(',') if dialog.cellDBconnection.value else None) if db: dbConnectionString = ','.join(db) dialog.options["xbrlDBconnection"] = dbConnectionString dialog.cellDBconnection.setValue(dbConnectionString) else: # deleted dialog.options.pop("xbrlDBconnection", "") # remove entry label(frame, 1, row, "DB Connection:") dialog.cellDBconnection = gridCell(frame, 2, row, options.get("xbrlDBconnection", "")) ToolTip(dialog.cellDBconnection, text=_("Enter an XBRL Database (Postgres) connection string. " "E.g., pg://dbuser:dbpassword@dbhost:port. "), wraplength=240) enterDBconnectionButton = Button(frame, image=openDatabaseImage, width=12, command=enterConnectionString) enterDBconnectionButton.grid(row=row, column=3, sticky=W)
def __init__(self, args): self.root = Tk() Frame.__init__(self, self.root) self.grid() self.master.title("Reach tester") self.client_tuple = self.connect() self.valid_values = (0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95) lbl_x = Label(self.master, text="X:") lbl_y = Label(self.master, text="Y:") btn_p = Button(self.master, text="Pick", command=self.pick) self.sb_x = ttk.Spinbox(self.master, values=self.valid_values) self.sb_y = ttk.Spinbox(self.master, values=self.valid_values) lbl_x.grid(row=0, column=0, sticky=E + N) self.sb_x.grid(row=0, column=1, sticky=E + N) lbl_y.grid(row=1, column=0, sticky=E + N) self.sb_y.grid(row=1, column=1, sticky=E + N) btn_p.grid(row=2, column=1, sticky=E + N)
def display_file_results(self,fname, results): self.currentRow = 0 Button(self, text="Back",command=self.go_back).grid(row=1000,column=0) Label(self, text=fname,font=("Arial",14)).grid(row=0,column=0,columnspan=8) Label(self, text="Peaks Used for Mass Calculations:").grid(row=1,column=0, columnspan=2, pady=(20,0), sticky="w") self.currentRow = 2 self.write_row(['Element', 'Theorhetical Peak Energy', 'Observed Peak Energy', 'Peak Height', 'Peak Width', 'Peak Area','Peak Sensitivity', 'Predicted Mass (mg)', 'Std. Dev. (mg)']) for element in results[0].keys(): for peak in results[0][element]: outList = [element, peak[1]] + list(peak[0][:4]) + list(peak[2:]) self.write_row(outList) Label(self, text="Disregarded Peaks:").grid(row=self.currentRow,column=0, columnspan=2, pady=(20,0), sticky="w") self.currentRow += 1 self.write_row(['Observed Peak Energy', 'Peak Height', 'Peak Width', 'Peak Area','Closest Element', "Element's Peak Center", 'Element Sensitivity', 'Predicted Mass (mg)', 'Std. Dev. (mg)']) for element in results[2].keys(): for peak in results[2][element]: outList = list(peak[0][:4]) + [element] + list(peak[1:]) self.write_row(outList) Label(self, text="Masses Calculated:").grid(row=self.currentRow,column=0, columnspan=2, pady=(20,0), sticky="w") self.currentRow += 1 self.write_row(['Element', 'Predicted Mass (mg)', 'Std. Dev. (mg)', 'Number of Atoms (mol)', 'Std. Dev. (mol)']) for element in results[1].keys(): self.write_row([element]+results[1][element])
def createTempMenu(self): level = self.menu_tree.getSelectionLevel(self.temp_menu_tree.tree[0]) self.menu_tree.traverseDownToSelectionLevel( self.temp_menu_tree.tree[0]) rowNumber = 0 for child in level: settingValue = Label(self.menuFrame, text=child.value[0]) settingValue.grid(row=rowNumber, column=1) settingKey = Button( self.menuFrame, text=child.name, command=lambda: self.changeMenuValue(child, settingValue)) self.buttonColor = settingKey.cget('bg') settingKey.grid(row=rowNumber, column=0) self.nodeToButtonDict[child] = (settingKey, settingValue) if rowNumber == 0: self.currentSelectionButton = settingKey self.currentSelectionNode = child rowNumber += 1 self.makeSelectedButtonColored(self.currentSelectionButton)
def _grep_dialog(parent): # htest # from tkinter import Toplevel, Text, SEL, END from tkinter.ttk import Frame, Button from idlelib.pyshell import PyShellFileList top = Toplevel(parent) top.title("Test GrepDialog") x, y = map(int, parent.geometry().split('+')[1:]) top.geometry(f"+{x}+{y + 175}") flist = PyShellFileList(top) frame = Frame(top) frame.pack() text = Text(frame, height=5) text.pack() def show_grep_dialog(): text.tag_add(SEL, "1.0", END) grep(text, flist=flist) text.tag_remove(SEL, "1.0", END) button = Button(frame, text="Show GrepDialog", command=show_grep_dialog) button.pack()
def pacingSiteFrame(master, patient): frame = Frame(master) frame.grid() rows = math.ceil(len(patient.pacing_coord) / 6.0) for row in range(0, rows): Grid.rowconfigure(frame, row, pad=3, weight=1) for col in range(0, 6): Grid.columnconfigure(frame, col, pad=3, weight=1) idx = 0 for row in range(0, rows): for col in range(0, 6): if idx < len(patient.pacing_coord): coord = patient.pacing_coord[idx] idx += 1 anonFunc = lambda coord=coord: master.onClickCoordinate(coord) button = Button(frame, text="{0} stats: {1}".format( coord.pacingSite, coord.stats), command=anonFunc) button.grid(row=row, column=col, sticky=W + E + N + S) return frame
def __init__(self, parent, dispatch_event): super().__init__(parent) self.dispatch_event = dispatch_event self.buttons = OrderedDict() from .icons import icons for key in self.keys: self.buttons[key] = Button(self, text=self.label(key), compound="bottom") self.buttons[key].config(image=icons[key], command=getattr(self, key)) # self.buttons["load_project"].config(image=u"\u128449" ) for i, button in enumerate(self.buttons.values()): button.pack(side="left", fill="x", expand=True) # relevant state: self.project = None self.project_exists = False self.project_path = None # children windows: self.editor = None