def __init__(self): super().__init__() self.janela.wm_title("emprestimo/devolucao - DELIBRARY") self.txt_id_livro_emprestimo = StringVar() self.txt_nome_livro_emprestimo = StringVar() self.txt_genero_livro_emprestimo = StringVar() self.txt_autor_livro_emprestimo = StringVar() self.txt_area_livro_emprestimo = StringVar() self.txt_editora_livro_emprestimo = StringVar() self.txt_edicao_livro_emprestimo = StringVar() self.txt_login_cliente_emprestimo = StringVar() self.txt_senha_cliente_emprestimo = StringVar() # self.txt_id_livro_devolucao = StringVar() self.txt_login_cliente_devolucao = StringVar() self.lbl_emprestimo = Label(self.janela, text="Emprestimo") self.lbl_id_livro_emprestimo = Label(self.janela, text="ID") self.lbl_nome_livro_emprestimo = Label(self.janela, text="Nome") self.lbl_genero_livro_emprestimo = Label(self.janela, text="Genero") self.lbl_autor_livro_emprestimo = Label(self.janela, text="Autor") self.lbl_area_livro_emprestimo = Label(self.janela, text="Area") self.lbl_editora_livro_emprestimo = Label(self.janela, text="Editora") self.lbl_edicao_livro_emprestimo = Label(self.janela, text="Edicao") self.lbl_login_cliente_emprestimo = Label(self.janela, text="Login do Cliente") self.lbl_senha_cliente_emprestimo = Label(self.janela, text="Senha do Cliente") # self.lbl_devolucao = Label(self.janela, text="Devoluçao") self.lbl_id_livro_devolucao = Label(self.janela, text="ID") self.lbl_login_cliente_devolucao = Label(self.janela, text="Login do Cliente") self.lbl_info_emprestado = Label(self.janela, text="Livros emprestados") self.lbl_info_disponivel = Label(self.janela, text="Livros disponivel") self.ent_id_livro_emprestimo = Entry( self.janela, textvariable=self.txt_id_livro_emprestimo) self.ent_nome_livro_emprestimo = Entry( self.janela, textvariable=self.txt_nome_livro_emprestimo) self.ent_genero_livro_emprestimo = Entry( self.janela, textvariable=self.txt_genero_livro_emprestimo) self.ent_autor_livro_emprestimo = Entry( self.janela, textvariable=self.txt_autor_livro_emprestimo) self.ent_area_livro_emprestimo = Entry( self.janela, textvariable=self.txt_area_livro_emprestimo) self.ent_editora_livro_emprestimo = Entry( self.janela, textvariable=self.txt_editora_livro_emprestimo) self.ent_edicao_livro_emprestimo = Entry( self.janela, textvariable=self.txt_edicao_livro_emprestimo) self.ent_login_cliente_emprestimo = Entry( self.janela, textvariable=self.txt_login_cliente_emprestimo) self.ent_senha_cliente_emprestimo = Entry( self.janela, textvariable=self.txt_senha_cliente_emprestimo, show="*") self.ent_id_livro_devolucao = Entry( self.janela, textvariable=self.txt_id_livro_devolucao) self.ent_login_cliente_devolucao = Entry( self.janela, textvariable=self.txt_login_cliente_devolucao) self.btn_emprestimo = Button(self.janela, width=15, text="Emprestimo") self.btn_obter_info_emprestimo = Button(self.janela, width=15, text="Verificar") self.btn_devolucao = Button(self.janela, width=15, text="Devolução") self.btn_obter_info_devolucao = Button(self.janela, width=15, text="Pesquisar") self.btn_sair = Button(self.janela, width=15, text="Sair") self.list_emprestimo = Listbox(self.janela, width=85) self.scroll_emprestimo = Scrollbar(self.janela) self.list_devolucao = Listbox(self.janela, width=85) self.scroll_devolucao = Scrollbar(self.janela)
w, h = root.maxsize() root.geometry("{}x{}".format(w, h)) # sb = Scrollbar(root) # sb.pack(side=tkinter.RIGHT, fill=tkinter.Y) # sb2 = Scrollbar(root) # sb2.pack(side=tkinter.BOTTOM, fill=tkinter.X) # root.geometry('900x600') baseLabel = Label(root, text='Breath Search by') baseLabel.place(x=0, y=3, anchor=NW) searchType = Listbox(root, selectmod='BROWSE') searchType.insert(0, 'id', 'Program', 'Course', 'Section', 'Instructor') searchType.select_set(0) searchType.place(x=120, y=3, anchor=NW) imageLabel = Label(root, width=1800, height=1000) # img1 = ImageTk.PhotoImage(file='test.png') # imageLabel.config(image=img1) # imageLabel.image = img1 imageLabel.place(x=3, y=300) en = Entry(root) en.place(x=300, y=3, anchor=NW)
master.iconbitmap(r'Files\Solo_Cup_Favicon.ico') label1 = Label(master, text='Enter your weight:') label1.pack(pady=7) weight = Entry(master) weight.pack() weight.focus_set() label2 = Label(master, text='Select your Gender:') label2.pack(pady=7) R1 = Radiobutton(master, text="Male", variable=inputgender, value=0) R1.pack(anchor=W, padx=95) R2 = Radiobutton(master, text="Female", variable=inputgender, value=1) R2.pack(anchor=W, padx=95) label3 = Label(master, text='Select your current BAC:') label3.pack(pady=7) BAC = Listbox(master, selectmode=SINGLE, height=11) for item in BAClevels: BAC.insert(END, item) BAC.pack() proceed = Button(master, text="Proceed", width=10, command=operation) proceed.pack(pady=10) close_button = Button(master, text="Close", command=master.quit) close_button.pack(pady=10) mainloop()
f.close() print('usr answ=', usr_answ) print('test answ=', test_dict[key]) if usr_answ == test_dict[key].strip('\n'): txt += str(i) + ' TEST IS OK\n' test_answ_lbl.config(text=txt) else: txt += str(i) + ' TEST IS NOT OK\n' test_answ_lbl.config(text=txt) i += 1 root = Tk() task = Label(root, text='Условие задачи') task.pack() task_list = Listbox(root, height=2) task_list.insert(0, "Задача 1", "Задача 2") task_list.pack() task_show = Label(root) task_show.pack() task_list.bind("<<ListboxSelect>>", Get) file_open_btn = Button(root, text="Открыть файл", command=FileOpen, state="disabled") file_open_btn.pack() file_open_text = Label(root) file_open_text.pack() test_btn = Button(root, text="Проверить", command=Testing, state="disabled") test_btn.pack() test_answ_lbl = Label(root)
def onselect(evt): w = evt.widget global index index = int(w.curselection()[0]) value = w.get(index) print('You selected item %d: "%s"' % (index, value)) uniq_len = (len(dataset.Symbol.unique())) top = tkinter.Tk() top.geometry('500x500') l = Label(text="Select your Stock") l.pack() Lb1 = Listbox(top, height=30) for i in range(0, 20): Lb1.insert(i + 1, (dataset.Symbol.unique())[i]) Lb1.insert(i + 1, (dataset.Symbol.unique())[uniq_len - 1]) for i in range(20, uniq_len - 1): Lb1.insert(i + 1, (dataset.Symbol.unique())[i]) Lb1.pack() index = 0 Lb1.bind('<<ListboxSelect>>', onselect) cs = Lb1.curselection() top.mainloop()
def __init__(self, direc): # file is the current file being viewed in the interface self.file = -1 self.filepos = -1 self.main = Tk() self.main.geometry("955x565") # Creates a display denoting the current directory or current file path = StringVar() pathlabel = Label(self.main, textvariable=path, relief="raised") path.set(getcwd()) pathlabel.place(x=0, y=0) # Creates checkboxes to control parameter display paramnames = { 0: "id", 1: "protocol", 2: "datasource", 3: "Test Type", 4: "Biobook Notebook Experiment ID", 5: "Cell Line", 6: "Cell Line Background", 7: "Cancer Type", 8: "Assay Start", 9: "Assay Length", 10: "Assay Endpoint", 11: "Screen Name", 12: "Experimenter", 13: "Cell Density", 14: "Plate Format", 15: "Compound-D", 16: "Compound-A", 17: "Compound-A Designation", 18: "Compound-A Name", 19: "Compound-D Designation", 20: "Compound-D Name" } checkframe = Frame(self.main) checkframe.place(x=740, y=20) checkvars = [] checkbuttons = [] for i in range(21): checkvars.append(IntVar()) checkbuttons.append( Checkbutton(checkframe, text=paramnames[i], pady=0, variable=checkvars[i])) checkbuttons[i].grid(row=i, column=0, sticky="W") for c in checkbuttons: c.select() # Creates a display for the Chalice files in the directory fileframe = Frame(self.main) fileframe.place(x=10, y=25) filescroll = Scrollbar(fileframe) filescroll.pack(side="right", fill="y") filelist = Listbox(fileframe, yscrollcommand=filescroll.set, height=30, width=40) filelist.pack(side="left", fill="both") for f in direc.files: filelist.insert(END, f.name) filescroll.config(command=filelist.yview) # Creates a display for the entries in the selected file entryframe = Frame(self.main) entryframe.place(x=290, y=25) entryscroll = Scrollbar(entryframe) entryscroll.pack(side="right", fill="y") entrylist = Listbox(entryframe, yscrollcommand=entryscroll.set, height=30, selectmode="extended", width=3) entrylist.pack(side="left", fill="both") entryscroll.config(command=entrylist.yview) # Creates a display for the parameter values of the selected entries paramframe = Frame(self.main) paramframe.place(x=350, y=25) paramscroll = Scrollbar(paramframe, orient="horizontal") paramscroll.pack(side="bottom", fill="x") paramlist = Listbox(paramframe, height=22, width=60, xscrollcommand=paramscroll.set) paramlist.pack(side="top", fill="both") paramscroll.config(command=paramlist.xview) def printparams(): paramlist.delete(0, END) if (self.file != -1): summary = self.file.summarylist() temp = 0 for i in range(17): if (checkvars[i].get() == 1): paramlist.insert(END, summary[i] + " ") temp = 1 if (temp == 1): paramlist.insert(END, "") for i in range(17, 21): if (checkvars[i].get() == 1): paramlist.insert(END, summary[i + 1] + " ") for c in checkbuttons: c.config(command=printparams) def selectall(): for c in checkbuttons: c.select() printparams() def selectnone(): for c in checkbuttons: c.deselect() printparams() allbutton = Button(self.main, text="All", command=selectall) allbutton.place(x=750, y=525) nonebutton = Button(self.main, text="None", command=selectnone) nonebutton.place(x=800, y=525) # Creates the interface for the search function searchval = StringVar() mainsearch = Frame(self.main) mainsearch.place(x=350, y=400) searchinput = Frame(mainsearch) searchinput.pack(side="top", fill="x") searchsetting = Frame(mainsearch) searchsetting.pack(side="bottom", fill="x") searchentry = Entry(searchinput, textvariable=searchval, width=49) searchentry.pack(side="left") searchentries = StringVar() searchentries.set("All entries") searchparams = StringVar() searchparams.set("protocol") entrychoices = ["All entries", "Selected entries"] paramchoices = [ "protocol", "datasource", "Test Type", "Biobook Notebook Experiment ID", "Cell Line", "Cell Line Background", "Cancer Type", "Assay Start", "Assay Length", "Assay Endpoint", "Screen Name", "Experimenter", "Cell Density", "Plate Format", "Compound-D", "Compound-A", "Compound-A Name", "Compound-D Name" ] searchentrymenu = OptionMenu(searchsetting, searchentries, *entrychoices) searchentrymenu.pack(side="left") searchparammenu = OptionMenu(searchsetting, searchparams, *paramchoices) searchparammenu.pack(side="left") def search(): if (self.file != -1): param = paramcodes[searchparams.get()] if (searchentries.get() == "All entries"): self.file.selected = [] self.file.search(param, searchval.get()) else: self.file.searchselected(param, searchval.get()) self.file.reset_summary() printparams() searchentry.delete(0, END) if (len(self.file.selected) == 0): messagebox.showinfo("Search results", "No entries found") searchbutton = Button(searchinput, text="Search", command=search) searchbutton.pack(side="right") # Creates the interface for the edit function editval = StringVar() mainedit = Frame(self.main) mainedit.place(x=350, y=460) editinput = Frame(mainedit) editinput.pack(side="top", fill="x") editsetting = Frame(mainedit) editsetting.pack(side="bottom", fill="x") editentry = Entry(editinput, textvariable=editval, width=51) editentry.pack(side="left") editentries = StringVar() editentries.set("Selected entries") editparams = StringVar() editparams.set("protocol") editentrymenu = OptionMenu(editsetting, editentries, *entrychoices) editentrymenu.pack(side="left") editparammenu = OptionMenu(editsetting, editparams, *paramchoices) editparammenu.pack(side="left") def edit(): if ((self.file != -1) & (editval.get() != "")): param = paramcodes[editparams.get()] if (editentries.get() == "All entries"): self.file.selected = list(range(self.file.numentries)) self.file.update_range(param, editval.get()) self.file.reset_summary() printparams() editentry.delete(0, END) editbutton = Button(editinput, command=edit, text="Edit") editbutton.pack(side="right") # Creates a button to export the entry summary to a file def export(): if (self.file != -1): if (len(self.file.selected) != 0): selparams = [] for v in checkvars: selparams.append(v.get()) self.file.export(selparams) messagebox.showinfo("Export", "Export successful") exportbutton = Button(self.main, text="Export", command=export) exportbutton.place(x=350, y=525) # Creates a button to export the entry summary for all files def exportall(): direc.export() messagebox.showinfo("Export", "Export successful") exportallbutton = Button(self.main, text="Export All", command=exportall) exportallbutton.place(x=400, y=525) # Creates a button to select a file to view def fileselect(): selected = filelist.curselection() if (len(selected) != 0): self.file = direc.files[selected[0]] self.filepos = selected[0] path.set(getcwd() + "\\" + self.file.name) entrylist.delete(0, END) for i in range(self.file.numentries): entrylist.insert(END, str(i + 1)) self.file.selected = [] self.file.reset_summary() paramlist.delete(0, END) fileselectbutton = Button(self.main, text="Select", command=fileselect) fileselectbutton.place(x=110, y=525) # Creates a button to select the next file def nextfile(): if ((self.filepos != -1) & (self.filepos != filelist.size() - 1)): self.filepos += 1 self.file = direc.files[self.filepos] path.set(getcwd() + "\\" + self.file.name) entrylist.delete(0, END) for i in range(self.file.numentries): entrylist.insert(END, str(i + 1)) self.file.selected = [] self.file.reset_summary() paramlist.delete(0, END) downbutton = Button(self.main, text=">>", relief="raised", command=nextfile) downbutton.place(x=160, y=525) # Creates a button to select the previous file def prevfile(): if ((self.filepos != -1) & (self.filepos != 0)): self.filepos -= 1 self.file = direc.files[self.filepos] path.set(getcwd() + "\\" + self.file.name) entrylist.delete(0, END) for i in range(self.file.numentries): entrylist.insert(END, str(i + 1)) self.file.selected = [] self.file.reset_summary() paramlist.delete(0, END) upbutton = Button(self.main, text="<<", relief="raised", command=prevfile) upbutton.place(x=75, y=525) # Creates a button to select entries to view def entryselect(): selected = entrylist.curselection() if (len(selected) != 0): self.file.selected = list(selected) self.file.reset_summary() printparams() entryselectbutton = Button(self.main, text="Select", command=entryselect) entryselectbutton.place(x=285, y=525) # Launches interface self.main.mainloop()
def build_window(self): """ Generates the window. :author: Pablo Sanz Alguacil """ # LABELFRAME - INFO self.labelframe_info = LabelFrame(self.root, text="") self.labelframe_info.pack(fill="both", expand="no", pady=5) # LABEL - INFO self.label_info = Label( self.labelframe_info, pady=15, text="In this window you can create your custom wordlist\n" "After generate the list don't forget to select it using\n" "\"Select wordlist\" button in the main window. Words\n" "must be separated by spaces") self.label_info.pack(side=TOP) # LABELFRAME - ADD WORDS self.labelframe_write_word = LabelFrame(self.root, text="Add words") self.labelframe_write_word.pack(fill="both", expand="no", pady=5) # LABEL - ADD WORDS self.label_write_words = Label(self.labelframe_write_word, text="Write words: ") self.label_write_words.pack(side=LEFT, padx=5, pady=10) # ENTRY - ADD WORDS self.entry_words = ttk.Entry(self.labelframe_write_word) self.entry_words.pack(side=LEFT, padx=5, pady=10) self.entry_words.bind('<Button-3>', rClicker, add='') # BUTTON - ADD WORDS self.button_add = Button(self.labelframe_write_word, text="Add", command=self.add_word) self.button_add.pack(side=RIGHT, padx=5, pady=10) # LABELFRMAE - LIST self.labelframe_list = LabelFrame(self.root, text="Key words") self.labelframe_list.pack(fill="both", expand="no", pady=5) # LISTBOX - WORDS self.list_scrollbar = Scrollbar(self.labelframe_list) self.listbox_words = Listbox(self.labelframe_list, width=20, height=12) self.list_scrollbar['command'] = self.listbox_words.yview self.listbox_words['yscroll'] = self.list_scrollbar.set self.list_scrollbar.pack(in_=self.labelframe_list, side=RIGHT, fill=Y, expand="no") self.listbox_words.pack(in_=self.labelframe_list, fill="both", expand="no") # LABELFRMAE - CONTROLS self.labelframe_controls = LabelFrame(self.root, text="Controls") self.labelframe_controls.pack(fill="both", expand="no", pady=5) # BUTTON - RESET LIST self.button_reset = Button(self.labelframe_controls, text="Reset list", command=self.reset_list) self.button_reset.grid(column=0, row=0, padx=5, pady=10) # BUTTON - LOCATION self.button_location = Button(self.labelframe_controls, text="Location", command=self.choose_location) self.button_location.grid(column=1, row=0, padx=5, pady=10) # BUTTON - GENERATE LIST self.button_generate = Button(self.labelframe_controls, text="Generate", command=self.generate_list) self.button_generate.grid(column=2, row=0, padx=5, pady=10)
def create_widgets(self): self.label = Label(self, textvariable=self.label_str) self.label.grid(row=0, padx=PADDING_X, pady=PADDING_Y, sticky=STICKY) self.file_list_frame = Frame(self, width=400) self.file_list_frame.pack_propagate(0) self.vertical_scrollbar = Scrollbar(self.file_list_frame, orient=VERTICAL) self.vertical_scrollbar.pack(side=RIGHT, fill=Y) self.horizontal_scrollbar = Scrollbar(self.file_list_frame, orient=HORIZONTAL) self.horizontal_scrollbar.pack(side=BOTTOM, fill=X) self.files_list = Listbox(self.file_list_frame, selectmode=EXTENDED, xscrollcommand=self.horizontal_scrollbar.set, yscrollcommand=self.vertical_scrollbar.set, exportselection=0) self.horizontal_scrollbar.config(command=self.files_list.xview) self.vertical_scrollbar.config(command=self.files_list.yview) self.files_list.bind('<<ListboxSelect>>', self.selection_changed) self.files_list.pack(fill=BOTH, expand=1) self.file_list_frame.grid(row=1, padx=PADDING_X, pady=PADDING_Y, sticky=STICKY) self.buttons_frame = Frame(self) self.labels_frame = Frame(self.buttons_frame) self.selected_label = Label(self.labels_frame, textvariable=self.number_selected) self.selected_label.pack(side=LEFT) self.marked_label = Label(self.labels_frame, textvariable=self.number_marked) self.marked_label.pack(padx=100, side=LEFT) self.labels_frame.grid(row=0, columnspan=4) self.select_all_button = Button(self.buttons_frame, text='Select all', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.select_all) self.select_all_button.grid(row=1, column=0, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.select_none_button = Button(self.buttons_frame, text='Select none', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.select_none) self.select_none_button.grid(row=1, column=1, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.select_marked_button = Button(self.buttons_frame, text='Select marked files', command=self.select_marked_files) self.select_marked_button.grid(row=1, column=2, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.mark_selected_button = Button(self.buttons_frame, text='Mark selected', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.mark_selected) self.mark_selected_button.grid(row=2, column=0, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.unmark_selected_button = Button(self.buttons_frame, text='Unmark selected', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.unmark_selected) self.unmark_selected_button.grid(row=2, column=1, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.normalize_selected_button = Button( self.buttons_frame, text='Normalize', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.normalize_selected) self.normalize_selected_button.grid(row=3, column=0, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.make16bit_selected_button = Button( self.buttons_frame, text='Make 16 bit', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.make_16bit_selected) self.make16bit_selected_button.grid(row=3, column=1, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.make_mono_selected_button = Button( self.buttons_frame, text='Make mono', command=self.make_mono_selected) self.make_mono_selected_button.grid(row=3, column=2, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.open_selected_button = Button(self.buttons_frame, text='Open', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.open_selected) self.open_selected_button.grid(row=4, column=0, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.selected_details_button = Button( self.buttons_frame, text='Details', wraplength=BUTTON_MAX_TEXT_LENGTH, command=self.selected_details) self.selected_details_button.grid(row=4, column=1, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.save_as_button = Button(self.buttons_frame, text='Save playlist as', command=self.save_playlist_as) self.save_as_button.grid(row=4, column=2, padx=BUTTON_PADDING_X, pady=BUTTON_PADDING_Y, sticky=STICKY) self.buttons_frame.grid(row=2, padx=PADDING_X, pady=PADDING_Y, sticky=STICKY)
# btn6 btn6 = Button(root, text='ok', width=10, height=1, bg='black', fg='red', font='arial 14') # entry_page entry = Entry(root, borderwidth='1', # ширина бордюра элемента bd='1', # сокращение от borderwidth width='15', # задаёт длину элемента в знакоместах. show='@', ) # задает отображаемый символ. # Text text = Text(root, height=5, width=15, font='Arial 10', wrap='word') text.insert(1.0, 'Добавить Текст\nв начало первой строки') btn7 = Button(root, text='Удалить все', command=btn7) btn8 = Button(root, text=' Извлечь все', command=btn8) # List boxes listbox1 = Listbox(root, height=5, width=15, selectmode='extended') listbox2 = Listbox(root, height=5, width=15, selectmode='single') list1 = ["Москва", "Санкт-Петербург", "Саратов", "Омск"] list2 = ["Канберра", "Сидней", "Мельбурн", "Аделаида"] for i in list1: listbox1.insert('end', i) for i in list2: listbox2.insert('end', i) # Positional # column 0 label.grid(row=0, column=0) btn1.grid(row=1, column=0) btn2.grid(row=2, column=0) btn3.grid(row=3, column=0) btn4.grid(row=4, column=0) btn5.grid(row=5, column=0)
def __init__(self, masterwin): self.masterwin = masterwin t = Toplevel(masterwin.master) # t.geometry(str(int(self.masterwin.width)) + 'x' + str(int(self.masterwin.height))) t.wm_title('Sånger från spellista') t.pack_propagate(0) self.fulllist = [] self.chosen = 0 self.tracks = [] self.resultlist = Listbox(t, height=35, width=50) self.resultlist.grid(row=1, rowspan=12, column=0, columnspan=2, sticky=W) scrollbar = Scrollbar(t, orient=VERTICAL) scrollbar.grid(row=1, rowspan=12, column=2, sticky=N + S + W) self.resultlist.bind("<<ListboxSelect>>", self.songChosen) self.resultlist.config(yscrollcommand=scrollbar.set) scrollbar.config(command=self.resultlist.yview) Button(t, text="Lägg till", width=15, height=2, command=self.addsong).grid(row=13, column=0) Button(t, text="Avbryt", width=15, height=2, command=t.destroy).grid(row=13, column=1) self.spotifylist = Entry(t, width=40) self.spotifylist.grid(row=1, column=3) self.spotifylist.focus_set() self.spotifylist.delete(0, END) self.spotifylist.insert(0, "") Button(t, text="Hämta Låtlista", width=15, height=2, command=self.get_list).grid(row=2, column=3) self.disp_artist = StringVar() self.disp_song = StringVar() self.disp_bpm = StringVar() self.disp_fit = StringVar() self.disp_genre = StringVar() self.disp_spotifylink = StringVar() w = 20 Label(t, text="Artist", width=w, height=2).grid(row=3, column=3) Label(t, textvariable=self.disp_artist, width=w, height=2).grid(row=4, column=3) Label(t, text="Song", width=w, height=2).grid(row=5, column=3) Label(t, textvariable=self.disp_song, width=w, height=2).grid(row=6, column=3) Label(t, text="BPM", width=w, height=2).grid(row=7, column=3) Label(t, textvariable=self.disp_bpm, width=w, height=2).grid(row=8, column=3) Label(t, text="Genre", width=w, height=2).grid(row=9, column=3) Label(t, textvariable=self.disp_genre, width=w, height=2).grid(row=10, column=3) Label(t, text="Spotify Link", width=w, height=2).grid(row=11, column=3) spotifylink = Label(t, textvariable=self.disp_spotifylink, width=w, height=2, fg="blue", cursor="hand2") spotifylink.grid(row=12, column=3) spotifylink.bind("<Button-1>", self.openBrowser)
def __init__(self, masterwin, resultsongs): self.resultsongs = resultsongs self.masterwin = masterwin t = Toplevel(masterwin.master) # t.geometry(str(int(self.masterwin.width)) + 'x' + str(int(self.masterwin.height))) t.wm_title('Search Results') t.pack_propagate(0) self.resultlist = Listbox(t, height=35, width=70) self.resultlist.grid(row=1, rowspan=12, column=0, columnspan=2, sticky=W) scrollbar = Scrollbar(t, orient=VERTICAL) scrollbar.grid(row=1, rowspan=12, column=2, sticky=N + S + W) self.resultlist.bind("<<ListboxSelect>>", self.songChosen) self.resultlist.config(yscrollcommand=scrollbar.set) scrollbar.config(command=self.resultlist.yview) for i in resultsongs: liststring = self.masterwin.fsongs.allsongs[ i].artist + ' - ' + self.masterwin.fsongs.allsongs[ i].song + ' - ' + str( self.masterwin.fsongs.allsongs[i].bpm) #print(liststring) self.resultlist.insert(END, liststring) Button(t, text="Edit", width=15, height=2, command=self.addAndSave).grid(row=13, column=0) Button(t, text="Avbryt", width=15, height=2, command=t.destroy).grid(row=13, column=1) self.disp_artist = StringVar() self.disp_song = StringVar() self.disp_bpm = StringVar() self.disp_fit = StringVar() self.disp_genre = StringVar() self.disp_spotifylink = StringVar() Label(t, text="Artist", width=30, height=2).grid(row=1, column=3) Label(t, textvariable=self.disp_artist, width=30, height=2).grid(row=2, column=3) Label(t, text="Song", width=30, height=2).grid(row=3, column=3) Label(t, textvariable=self.disp_song, width=30, height=2).grid(row=4, column=3) Label(t, text="BPM", width=30, height=2).grid(row=5, column=3) Label(t, textvariable=self.disp_bpm, width=30, height=2).grid(row=6, column=3) Label(t, text="Block", width=30, height=2).grid(row=7, column=3) Label(t, textvariable=self.disp_fit, width=30, height=2).grid(row=8, column=3) Label(t, text="Genre", width=30, height=2).grid(row=9, column=3) Label(t, textvariable=self.disp_genre, width=30, height=2).grid(row=10, column=3) Label(t, text="Spotify Link", width=30, height=2).grid(row=11, column=3) spotifylink = Label(t, textvariable=self.disp_spotifylink, width=30, height=2, fg="blue", cursor="hand2") spotifylink.grid(row=12, column=3) spotifylink.bind("<Button-1>", self.openBrowser)
def replaceocc(): ROOT = Tk() ROOT.withdraw() USER_INP = simpledialog.askstring(title="Enter the path", prompt="Enter the Path") path = USER_INP dir_list = os.listdir(path) newWindow2 = Toplevel(window) a = "Files and directories in "+ path+ ":" l2 = Label(newWindow2, text = a) l2.grid(column=0, row=1) lb1 = Listbox(newWindow2) for item in dir_list: lb1.insert(END,item) lb1.grid(column=0) label1 = Label(newWindow2, text='Enter the file name from the list') label1.grid(column=0, row=10) entry1 = Entry (newWindow2) entry1.grid(column=0, row=11) label2 = Label(newWindow2, text='Enter the string to search') label2.grid(column=0, row=12) entry2 =Entry (newWindow2) entry2.grid(column=0, row=13) label2 = Label(newWindow2, text='Enter the replace string') label2.grid(column=0, row=14) entry3 =Entry (newWindow2) entry3.grid(column=0, row=15) label2 = Label(newWindow2, text='Enter the line number') label2.grid(column=0, row=16) entry4 =Entry (newWindow2) entry4.grid(column=0, row=17) def reply (): file = entry1.get() string1 = entry2.get() start = timer() fullstart = start if file in dir_list: file1 = path+"1"+file file = path+file file_t=open(file,"r+") fo = open(file1, "w") fou = file_t.readlines() lno = int(entry4.get()) n = 0 for line in fou: if lno == n+1: print("found") a = fou[n] print(a) st3 = a.split(" ") st1=[] for elem in st3: st1.append(elem.strip()) print(st1) for i in range(len(st1)): if st1[i] == string1: st1[i] = entry3.get() else: st1[i]=st1[i] st2 = "" for ele in st1: st2+=ele+" " st2+="\n" print(st2) fou[n] = st2 fo.write(fou[n]) else: fo.write(fou[n]) n+=1 fo.close() file_t.close() label3 = Label(newWindow2, text='Success') label3.grid(column=0, row=19) else: label2 = Label(newWindow2, text='Enter the replace string') label2.grid(column=0, row=19) end = timer() print("Total time : %.1f ms" % (1000 * (end - fullstart))) button1 = Button(newWindow2,text='Replace', command=reply, bg='brown', fg='white', font=('helvetica', 9, 'bold')) button1.grid(column=0, row=18)
# Setup fields for the search function find_frame = Frame(root, bg="#6c4cfc", bd=5) find_frame.place(relx=0.5, rely=0.55, relwidth=0.3, relheight=0.1, anchor="n") find_button = Button(find_frame, text="GO!", bg="white", command=get_businesses, font=("Century", 20)) find_button.place(relwidth=1, relheight=1) # Setup fields for the results based on filters results_frame = Frame(root, bg="#6c4cfc", bd=5) results_frame.place(relx=0.5, rely=0.7, relwidth=0.8, relheight=0.2, anchor="n") scrlbr = Scrollbar(results_frame, orient="vertical") results_listbox = Listbox(results_frame, yscrollcommand=scrlbr.set, font=("Century", 10)) results_listbox.place(relwidth=0.95, relheight=1) scrlbr.config(command=results_listbox.yview) scrlbr.place(relwidth=0.05, relheight=1, relx=0.95, rely=0) root.mainloop()
import pandas as pd import tkinter as tk from tkinter import Listbox, Message, Button, Canvas from PIL import Image, ImageTk m = tk.Tk() m.configure(background="blue") m.title("This is Mao") ourMessage = 'Mao, there are no rules' messageVar = Message(m, text=ourMessage) messageVar.config(bg='orange') messageVar.pack() y = np.array([ "1)Rule1", "2)Rule2", "3)Rule3", "4)Rule4", "5)Rule5", "6)Rule6", "7)Rule7" ]) lb = Listbox(m) def easy(): x = np.random.randint(0, 3) lb.insert(x, y[x]) lb.pack() def medium(): x = np.random.randint(0, 5) lb.insert(x, y[x]) lb.pack() def hard():
def initUI(self): self.parent.title("UFO Curator") # Configure the style of each element s = Style() s.configure("TButton", padding=(0, 5, 0, 5), font='serif 10', background=global_bg) s.configure('TLabelframe.Label', foreground=global_fg, background=global_bg) s.configure('TLabelframe', foreground=global_fg, background=global_bg, padding=(3, 3, 3, 3)) s.configure("TRadiobutton", foreground=global_fg, background=global_bg) s.configure("TLabel", foreground=global_fg, background=global_bg) s.configure("TCheckbutton", foreground=global_fg, background=global_bg) s.configure("Vertical.TScrollbar", background=global_bg, troughcolor=global_bg) self.columnconfigure(0, pad=3) self.columnconfigure(1, pad=3) self.columnconfigure(2, pad=3) self.rowconfigure(0, pad=3) self.rowconfigure(1, pad=3) # Make menu self.menuBar = Menu(self.parent) self.parent.config(menu=self.menuBar) # File menu fileMenu = Menu(self.menuBar, tearoff=0) fileMenu.add_command(label="Open folder", command=self.askdirectory) fileMenu.add_separator() fileMenu.add_command(label="Exit", command=self.quitApplication) self.menuBar.add_cascade(label="File", underline=0, menu=fileMenu) self.menuBar.entryconfig("File", state="normal") # Help Menu helpMenu = Menu(self.menuBar, tearoff=0) helpMenu.add_command(label="About", command=self.show_about) self.menuBar.add_cascade(label="Help", underline=0, menu=helpMenu) # actions panel self.action_panel = LabelFrame(self, text=' Actions') self.action_panel.grid(row=0, column=0, sticky="W", padx=2, pady=5, ipadx=5, ipady=5) curate_button = StyledButton(self.action_panel, text="Clean", width=5, command=lambda: self.curateData()) curate_button.grid(row=2, column=7, rowspan=2) moveone_button = StyledButton(self.action_panel, text="Clean One", width=9, command=lambda: self.moveone()) moveone_button.grid(row=2, column=8, rowspan=2) moveback_button = StyledButton(self.action_panel, text="Move Back", width=9, command=lambda: self.moveback()) moveback_button.grid(row=2, column=9, rowspan=2) # Listbox self.scrollbar = Scrollbar(self) self.listbox = Listbox(self, width=47, yscrollcommand=self.scrollbar.set, exportselection=0, activestyle="none", bg=global_bg, fg=global_fg) self.listbox.config(height=37) # Listbox size self.listbox.grid(row=4, column=0, rowspan=7, columnspan=2, sticky="NS") # Listbox position self.scrollbar.grid(row=4, column=2, rowspan=7, sticky="NS") # Scrollbar size self.listbox.bind('<<ListboxSelect>>', self.update_image) self.scrollbar.config(command=self.listbox.yview) # IMAGE if getattr(sys, 'frozen', False) is True: # frozen dir_ = os.path.dirname(sys.executable) else: # unfrozen dir_ = os.path.dirname(os.path.realpath(__file__)) try: # Show the TV test card image on program start noimage_data = open(os.path.join(dir_, 'noimage.bin'), 'rb').read() noimage = PhotoImage(data=noimage_data) except: noimage = None self.imagelabel = Label(self, image=noimage) self.imagelabel.image = noimage self.imagelabel.grid(row=3, column=3, rowspan=4, columnspan=3)
def __init__(self, parent): self.parent = parent self.parent.title('BioPy') self.csv_filename = "" self.radioOption = StringVar(value="0") self.q = Queue() self.manager = ContextManager() self.logs = path.join(getenv('programdata'), 'BioPy_Logs') try: mkdir(self.logs) except FileExistsError: pass self.container1 = Frame(parent) self.container1.pack(fill=BOTH, expand=2) self.menubar = Menu(parent) self.menubar.add_command(label="About", command=self.onMenu) self.menubar.add_command(label="Logs", command=self.onLogs) self.saveContainer = Frame(parent) self.saveContainer.pack() self.optionContainter = Frame(parent) self.optionContainter.pack(anchor=E) self.listbox1 = Listbox(self.container1) dw.drop_target_register(self.listbox1, DND_FILES) dw.dnd_bind(self=self.listbox1, sequence='<<Drop>>', func=self.onDrop) self.scrollbar = Scrollbar(self.container1) self.scrollbar.configure(command=self.listbox1.yview) self.scrollbar.pack(side=RIGHT, fill=Y) self.listbox1.configure(width=100, height=20, yscrollcommand=self.scrollbar.set, selectmode=EXTENDED) self.listbox1.pack(fill=BOTH, expand=1) self.browseButton = HoverButton(self.container1, text='Browse', background='green', command=self.onBrowseClick) self.browseButton.pack(side=LEFT) self.clearAllButton = HoverButton(self.container1, text='Clear All', command=self.clearListBox) self.clearAllButton.pack(side=RIGHT) self.clearButton = HoverButton(self.container1, text='Clear', command=self.clear) self.clearButton.pack(side=RIGHT) self.buildCsvButton = HoverButton(self.container1, text='Start!', command=self.onBuildCsv) self.buildCsvButton.pack() self.savePath = Listbox(self.saveContainer, width=50, height=1) self.savePath.insert(0, "Enter save location...") self.savePath.pack(side=LEFT) self.saveButton = HoverButton(self.saveContainer, text='Save As...', command=self.onButtonSaveClick) self.saveButton.pack(side=RIGHT) self.testButton = Button(self.container1, text='Automated_Test', command=self.onAutomatedTestClick) # self.testButton.pack() self.progressbar = ttk.Progressbar(self.container1, value=0, orient=HORIZONTAL, mode='indeterminate', length=100) self.option1 = Radiobutton(self.optionContainter, variable=self.radioOption, text='Variant', value='Variant', command=self.SelectVariantStrat) self.option1.pack(anchor=W) self.option2 = Radiobutton(self.optionContainter, variable=self.radioOption, text='D-10', value='D-10', command=self.selectD10Strat) self.option2.pack(anchor=W) self.option3 = Radiobutton(self.optionContainter, variable=self.radioOption, text='VNBS', value='VNBS', command=self.selectVNBS) self.option3.pack(anchor=W) self.parent.config(menu=self.menubar) positionRight = int(self.parent.winfo_screenwidth()/4) positionDown = int(self.parent.winfo_screenheight()/5) # Positions the window in the center of the page. self.parent.geometry("+{}+{}".format(positionRight, positionDown))
def __init__(self, root): self.setup = Setup(self) json_data = Json() self.update = Update(self, self.setup) self.db = LocalSqlite3() self.tracks = Tracks() self.top_menu = TopMenu(self, root) self.preset_setups = json_data.preset_setups self.game_modes = json_data.game_modes self.weatherTypes = json_data.weather self.cars = ('All Cars', '') self.raceSettings = json_data.cars #self.game_versions = json_data.game_versions self.c = Frame(root, padding=(5, 5, 12, 0)) self.c.grid(column=0, row=0, sticky=(N, W, E, S)) root.grid_columnconfigure(0, weight=1) root.grid_rowconfigure(0, weight=1) self.bg = "#33393b" # backgroundcolor self.fg = "white" # forgroundcolor self.status_message = StringVar() self.tracks_sorted = StringVar(value=self.tracks.track_sorted_list) self.sliderFrame = LabelFrame( self.c, text="Setup", labelanchor='nw', padding=5) self.track_box = Listbox( self.c, listvariable=self.tracks_sorted, height=len(self.tracks.track_sorted_list), bg=self.bg, fg=self.fg, highlightcolor="black", selectbackground="darkred", selectforeground="white") self.track_box.selection_clear(1, last=None) # self.game_version_box = self.create_combobox(list(self.game_versions)) self.race_box = self.create_combobox(list(self.raceSettings)) self.cars_box = self.create_combobox(self.cars) self.weather_box = self.create_combobox(list(self.weatherTypes)) self.game_mode_box = self.create_combobox(list(self.game_modes)) self.preset_box = self.create_combobox(list(self.preset_setups.values())) """ self.sort_tracks_box = self.create_checkbox( 'Order Tracks', self.sort_tracks, lambda: self.toggle_track_list(self.sort_tracks.get())) self.auto_use_changes_box = self.create_checkbox( 'Auto Use Changes', self.auto_use_changes, lambda: self.update_auto_use(self.auto_use_changes.get())) self.auto_save_changes_box = self.create_checkbox( 'Auto Save Changes', self.auto_save_changes, lambda: self.update_auto_save(self.auto_save_changes.get())) self.auto_use_track_box = self.create_checkbox( 'Auto Use track', self.auto_use_track, lambda: self.update_auto_use_track(self.auto_use_track.get())) """ # self.upload_button = self.create_button("Upload", self.upload) # self.community_button = self.create_button("Community", community.Community) # self.import_setups = self.create_button("import previous setups", self.update.populate_db_from_setups_dir) self.useButton = self.create_button("Use", self.use_cmd) # self.useSaveButton = self.create_button("Save & Use", self.use_save_cmd) # self.saveButton = self.create_button("Save", self.save_cmd) # self.saveAsButton = self.create_button("Save As", self.save_as_cmd) # self.openButton = self.create_button("Open", self.open_cmd) # self.tipBtn = self.create_button("Tip Scruffe", # lambda: self.open_url("https://paypal.me/valar")) self.status_bar = Label( self.c, textvariable=self.status_message, anchor=W) scales = MakeScale(self.sliderFrame) self.front_wing_Scale = scales.make("Front wing") self.rear_wing_Scale = scales.make("Rear wing") self.on_throttle_Scale = scales.make("On throttle", from_=50, to=100) self.off_throttle_Scale = scales.make("Off throttle", from_=50, to=100) self.front_camber_Scale = scales.make("Front camber", step=0.1, offset=-3.5) self.rear_camber_Scale = scales.make("Rear camber", step=0.1, offset=-2) self.front_toe_Scale = scales.make("Front toe", step=0.01, offset=0.05, res=2) self.rear_toe_Scale = scales.make("Rear toe", step=0.03, offset=0.20, res=2) # there is an offset self.front_suspension_Scale = scales.make("Front suspension") self.rear_suspension_Scale = scales.make("Rear suspension") self.front_antiroll_bar_Scale = scales.make("Front antiroll bar") self.rear_antiroll_bar_Scale = scales.make("Rear antiroll bar") self.front_suspension_height_Scale = scales.make("Front suspension height") self.rear_suspension_height_Scale = scales.make("Rear suspension height") self.brake_pressure_Scale = scales.make("Brake pressure", from_=50, to=100) self.brake_bias_Scale = scales.make("Brake bias", from_=70, to=50) self.front_right_tyre_pressure_Scale = scales.make("Front right tyre pressure", step=.4, offset=21) # , 0.4) self.front_left_tyre_pressure_Scale = scales.make("Front left tyre pressure", step=.4, offset=21) self.rear_right_tyre_pressure_Scale = scales.make("Rear right tyre pressure", step=.4, offset=19.5) self.rear_left_tyre_pressure_Scale = scales.make("Rear left tyre pressure", step=.4, offset=19.5) self.ballast_Scale = scales.make("Ballast") self.ramp_differential_Scale = scales.make("Ramp differential", from_=50, to=70) self.fuel_load_Scale = scales.make("Fuel load", from_=5, to=110) self.grid() self.enable_free_widgets()
def load_list(g, data): g.listbox = Listbox(width=60) g.listbox.pack(expand=True, side=BOTTOM) for i in data: g.listbox.insert(END, i) g.main.mainloop()
root = Tk() root.title("Adam's Todo List App") root.configure(background="light blue") root.geometry ("600x600") root.resizable(width=False, height=False) title_label=ttk.Label(root,text="New Task",background="light blue",font=("Fira Code", 14)) title_label.grid(row=0, column=1, sticky=W) title_text = StringVar() title_entry = ttk.Entry(root,width=40, textvariable=title_text) title_entry.grid(row=0, column=2, sticky=W) add_btn = Button(root, text="Add Task", bg="purple", fg="white", font="helvetica 10 bold", command=add_task) add_btn.grid(row=0, column=3, sticky=W) list_bx = Listbox(root, height=16, width=40, font="helvetica 13", bg="white") list_bx.grid(row=3, column=1, columnspan=14, sticky=W + E, pady=40, padx=15) list_bx.bind('<<ListboxSelect>>', get_selected_row) scroll_bar = Scrollbar(root) scroll_bar.grid(row=1, column=8, rowspan=14, sticky=W) list_bx.configure(yscrollcommand=scroll_bar.set) scroll_bar.configure(command=list_bx.yview) modify_btn = Button(root, text="Modify Task", bg="purple", fg="white", font="helvetica 10 bold", command=update_task) modify_btn.grid(row=15, column=1) delete_btn = Button(root, text="Delete Task", bg="purple", fg="white", font="helvetica 10 bold", command=delete_task) delete_btn.grid(row=15, column=2, padx=35)
def __init__(self, master, **options): Section.__init__(self, master, **options) PrimaryLabel(self.master, text='Current Article Contributors').pack() self.contributor_listbox = Listbox(self.master) self.contributor_listbox.pack(fill=BOTH)
to=0, showvalue=False, command=ptscl1) ptscl.bind('<1>', ptscl0) ptscl.bind('<ButtonRelease-1>', ptscl2) listbutton = Button(duf, text='列表循环', command=liststatus) prebutton = Button(duf, text='⏮', command=playlastmusic) nextbutton = Button(duf, text='⏭', command=playnextmusic_) ptlb.pack(side=LEFT) ptscl.pack(side=LEFT) prebutton.pack(side=LEFT) listbutton.pack(side=LEFT) nextbutton.pack(side=LEFT) duf.pack(side=TOP) # 第四区块(音乐列表) lbrf = Frame(t) lbrsb = Scrollbar(lbrf) # 列表侧滚轮 lbrsb.pack(side=RIGHT, fill=Y) library = Listbox(lbrf, height=12, width=50, yscrollcommand=lbrsb.set) # 音乐列表 for m in musiclist: # 载入音乐列表 library.insert(END, os.path.basename(m)) library.bind('<Double-1>', playchosemusic) library.pack(side=LEFT, fill=BOTH) lbrf.pack() timevarsset() # 主循环,结束后停止播放音乐 if __name__ == '__main__': mainloop() stopmusic()
def create_widgets(self): self.frame = frame = Frame(self, borderwidth=2, relief='sunken') frame.pack(side='top', expand=True, fill='both') frame_buttons = Frame(self) frame_buttons.pack(side='bottom', fill='x') self.button_ok = Button(frame_buttons, text='OK', width=8, command=self.ok) self.button_ok.grid(row=0, column=0, padx=5, pady=5) self.button_cancel = Button(frame_buttons, text='Cancel', width=8, command=self.cancel) self.button_cancel.grid(row=0, column=1, padx=5, pady=5) # Basic entry key sequence. self.frame_keyseq_basic = Frame(frame, name='keyseq_basic') self.frame_keyseq_basic.grid(row=0, column=0, sticky='nsew', padx=5, pady=5) basic_title = Label(self.frame_keyseq_basic, text=f"New keys for '{self.action}' :") basic_title.pack(anchor='w') basic_keys = Label(self.frame_keyseq_basic, justify='left', textvariable=self.key_string, relief='groove', borderwidth=2) basic_keys.pack(ipadx=5, ipady=5, fill='x') # Basic entry controls. self.frame_controls_basic = Frame(frame) self.frame_controls_basic.grid(row=1, column=0, sticky='nsew', padx=5) # Basic entry modifiers. self.modifier_checkbuttons = {} column = 0 for modifier, variable in zip(self.modifiers, self.modifier_vars): label = self.modifier_label.get(modifier, modifier) check = Checkbutton(self.frame_controls_basic, command=self.build_key_string, text=label, variable=variable, onvalue=modifier, offvalue='') check.grid(row=0, column=column, padx=2, sticky='w') self.modifier_checkbuttons[modifier] = check column += 1 # Basic entry help text. help_basic = Label(self.frame_controls_basic, justify='left', text="Select the desired modifier keys\n" + "above, and the final key from the\n" + "list on the right.\n\n" + "Use upper case Symbols when using\n" + "the Shift modifier. (Letters will be\n" + "converted automatically.)") help_basic.grid(row=1, column=0, columnspan=4, padx=2, sticky='w') # Basic entry key list. self.list_keys_final = Listbox(self.frame_controls_basic, width=15, height=10, selectmode='single') self.list_keys_final.insert('end', *AVAILABLE_KEYS) self.list_keys_final.bind('<ButtonRelease-1>', self.final_key_selected) self.list_keys_final.grid(row=0, column=4, rowspan=4, sticky='ns') scroll_keys_final = Scrollbar(self.frame_controls_basic, orient='vertical', command=self.list_keys_final.yview) self.list_keys_final.config(yscrollcommand=scroll_keys_final.set) scroll_keys_final.grid(row=0, column=5, rowspan=4, sticky='ns') self.button_clear = Button(self.frame_controls_basic, text='Clear Keys', command=self.clear_key_seq) self.button_clear.grid(row=2, column=0, columnspan=4) # Advanced entry key sequence. self.frame_keyseq_advanced = Frame(frame, name='keyseq_advanced') self.frame_keyseq_advanced.grid(row=0, column=0, sticky='nsew', padx=5, pady=5) advanced_title = Label( self.frame_keyseq_advanced, justify='left', text=f"Enter new binding(s) for '{self.action}' :\n" + "(These bindings will not be checked for validity!)") advanced_title.pack(anchor='w') self.advanced_keys = Entry(self.frame_keyseq_advanced, textvariable=self.key_string) self.advanced_keys.pack(fill='x') # Advanced entry help text. self.frame_help_advanced = Frame(frame) self.frame_help_advanced.grid(row=1, column=0, sticky='nsew', padx=5) help_advanced = Label( self.frame_help_advanced, justify='left', text="Key bindings are specified using Tkinter keysyms as\n" + "in these samples: <Control-f>, <Shift-F2>, <F12>,\n" "<Control-space>, <Meta-less>, <Control-Alt-Shift-X>.\n" "Upper case is used when the Shift modifier is present!\n\n" + "'Emacs style' multi-keystroke bindings are specified as\n" + "follows: <Control-x><Control-y>, where the first key\n" + "is the 'do-nothing' keybinding.\n\n" + "Multiple separate bindings for one action should be\n" + "separated by a space, eg., <Alt-v> <Meta-v>.") help_advanced.grid(row=0, column=0, sticky='nsew') # Switch between basic and advanced. self.button_level = Button(frame, command=self.toggle_level, text='<< Basic Key Binding Entry') self.button_level.grid(row=2, column=0, stick='ew', padx=5, pady=5) self.toggle_level()
e1 = Entry(window, textvariable=title_text) e1.grid(row=0, column=1) author_text = StringVar() e2 = Entry(window, textvariable=author_text) e2.grid(row=0, column=3) year_text = StringVar() e3 = Entry(window, textvariable=year_text) e3.grid(row=1, column=1) isbn_text = StringVar() e4 = Entry(window, textvariable=isbn_text) e4.grid(row=1, column=3) list1 = Listbox(window, height=6, width=35) list1.grid(row=2, column=0, rowspan=6, columnspan=2) list1.bind('<<ListboxSelect>>', get_selected_row) sb1 = Scrollbar(window) sb1.grid(row=2, column=2, rowspan=6) list1.configure(yscrollcommand=sb1.set) sb1.configure(command=list1.yview) b1 = Button(window, text="View all", width=12, command=view_command) b1.grid(row=2, column=3) b2 = Button(window, text="Search entry", width=12, command=search_command) b2.grid(row=3, column=3)
def __init__(self, master): Frame.__init__(self, master) self.master = master self.always_on_top = BooleanVar() self.set_defaults() self.menubar = Menu(master) self.list_index = 0 self.list_selected_index = 0 self.filemenu = Menu(self.menubar, tearoff=0) self.filemenu.add_command(label='New', underline=0, command=self.add_character, accelerator='Ctrl+N') self.filemenu.add_command(label='Remove', underline=0, command=self.remove_character, accelerator='Ctrl+R') self.filemenu.add_command(label='Load', underline=0, command=self.load_config, accelerator='Ctrl+L') self.filemenu.add_separator() # ------------------ self.filemenu.add_command( label='Save', underline=0, command=lambda: self.save_config(fpath=self.fpath), accelerator='Ctrl+S') self.editmenu = Menu(self.menubar, tearoff=0) self.editmenu.add_checkbutton(label='Always on top', underline=10, variable=self.always_on_top, command=self.pin) self.menubar.add_cascade(label='Characters', underline=0, menu=self.filemenu) self.menubar.add_cascade(label='Config', underline=0, menu=self.editmenu) self.menubar.config(relief='flat') master.config(menu=self.menubar) self.bind_all('<Control-n>', lambda e: self.add_character()) self.bind_all('<Control-r>', lambda e: self.remove_character()) self.bind_all('<Control-s>', lambda e: self.save_config(fpath=self.fpath)) self.bind_all('<Control-l>', lambda e: self.load_config()) # gives weight to the cells in the grid master.grid() rows = 0 while rows < 50: master.rowconfigure(rows, weight=1) master.columnconfigure(rows, weight=1) rows += 1 self.tabControl = ttk.Notebook(master) # Defines and places the notebook widget self.tabControl.grid(row=1, column=0, columnspan=25, rowspan=49, sticky='NESW') # Adds tab 1 of the notebook page1 = ttk.Frame(self.tabControl) page1.pack(side=LEFT, expand=1, fill="both", padx=5, pady=5) self.tabControl.add(page1, text='Initiative') self.add_button = Button(page1, text="Add Char", fg="black", command=self.add_character) delete_button = Button(page1, text="Delete Char", fg="black", command=self.remove_character) self.roll_button = Button(page1, text="Roll Dice", fg="black", command=self.roll_initiative) clear_button = Button(page1, text="Clean", fg="black", command=self.remove_all_characters) self.next_button = Button(page1, text="Next Char", fg="black", command=self.next_character) # greenbutton.place(x = 20, y = 30, width=120, height=25) # greenbutton1.place(x = 20, y = 60, width=120, height=25) self.tree = ttk.Treeview(page1, selectmode=BROWSE, columns=("life", "one")) self.tree.column("#0", width=250, minwidth=250, stretch=True) self.tree.column("life", width=40, minwidth=40, stretch=True) self.tree.column("one", width=70, minwidth=70, stretch=True) self.tree.heading("#0", text="Character", anchor="w") self.tree.heading("life", text="HP", anchor="w") self.tree.heading("one", text="Initiative", anchor="w", command=lambda _col="one": self.treeview_sort_column( self.tree, _col, True)) # self.tree.pack(side=TOP, fill=X) self.add_button.pack(side=LEFT, padx=5, pady=5, anchor="s") delete_button.pack(side=LEFT, padx=5, pady=5, anchor="s") self.roll_button.pack(side=LEFT, padx=5, pady=5, anchor="s") clear_button.pack(side=LEFT, padx=5, pady=5, anchor="s") self.next_button.pack(side=LEFT, padx=5, pady=5, anchor="s") self.next_button["state"] = "disabled" self.roll_button["state"] = "disabled" # Adds tab 2 of the notebook page2 = ttk.Frame(self.tabControl) self.tabControl.add(page2, text='Characters') # Adds tab 2 of the notebook page3 = ttk.Frame(self.tabControl) self.tabControl.add(page3, text='Monsters') monsterList = self.load_monster_name() selectButton = Button(page3, text='Select', underline=0, command=self.selection) scrollbar = Scrollbar(page3, orient=VERTICAL) self.search_var = StringVar() self.search_var.trace("w", lambda name, index, mode: self.update_list()) self.listBoxFilter = Entry(page3, textvariable=self.search_var, width=13) self.monsterListBox = Listbox(page3, yscrollcommand=scrollbar.set) scrollbar.config(command=self.monsterListBox.yview) scrollbar.pack(side=RIGHT, fill=Y) self.listBoxFilter.pack(side=TOP, padx=5, pady=5, anchor="n") selectButton.pack(side=TOP, padx=5, pady=5, anchor="n") self.monsterListBox.pack(side=TOP, fill=BOTH, expand=1) for item in monsterList: self.monsterListBox.insert(END, item) self.monsterListBox.bind('<Double-1>', lambda x: selectButton.invoke()) #html_label = HtmlFrame(page3, horizontal_scrollbar="auto", vertical_scrollbar=True) #html_label.pack(fill="both", expand=True) #html_label.set_content(self.html) # Adds tab 2 of the notebook page4 = ttk.Frame(self.tabControl) self.tabControl.add(page4, text='Spells') # Adds tab 2 of the notebook page5 = ttk.Frame(self.tabControl) self.tabControl.add(page5, text='Rules')
def _body(self): """ Set up widgets. """ self._frm_basic = Frame(self) self._lbl_port = Label(self._frm_basic, text="Port") self._lbx_port = Listbox( self._frm_basic, border=2, relief="sunken", bg=self._readonlybg, width=32, height=5, justify=LEFT, exportselection=False, ) self._scr_portv = Scrollbar(self._frm_basic, orient=VERTICAL) self._scr_porth = Scrollbar(self._frm_basic, orient=HORIZONTAL) self._lbx_port.config(yscrollcommand=self._scr_portv.set) self._lbx_port.config(xscrollcommand=self._scr_porth.set) self._scr_portv.config(command=self._lbx_port.yview) self._scr_porth.config(command=self._lbx_port.xview) self._lbl_bpsrate = Label(self._frm_basic, text="Rate bps") self._spn_bpsrate = Spinbox( self._frm_basic, values=self._bpsrate_rng, width=8, state=READONLY, readonlybackground=self._readonlybg, wrap=True, textvariable=self._bpsrate, ) self._btn_refresh = Button( self._frm_basic, command=self._on_refresh, image=self._img_refresh, width=28, height=22, ) self._btn_toggle = Button( self._frm_basic, command=self._on_toggle_advanced, image=self._img_expand, width=28, height=22, ) self._frm_advanced = Frame(self) self._lbl_databits = Label(self._frm_advanced, text="Data Bits") self._spn_databits = Spinbox( self._frm_advanced, values=self._databits_rng, width=3, state=READONLY, readonlybackground=self._readonlybg, wrap=True, textvariable=self._databits, ) self._lbl_stopbits = Label(self._frm_advanced, text="Stop Bits") self._spn_stopbits = Spinbox( self._frm_advanced, values=self._stopbits_rng, width=3, state=READONLY, readonlybackground=self._readonlybg, wrap=True, textvariable=self._stopbits, ) self._lbl_parity = Label(self._frm_advanced, text="Parity") self._spn_parity = Spinbox( self._frm_advanced, values=self._parity_rng, width=6, state=READONLY, readonlybackground=self._readonlybg, wrap=True, textvariable=self._parity, ) self._chk_rts = Checkbutton( self._frm_advanced, text="RTS/CTS", variable=self._rtscts ) self._chk_xon = Checkbutton( self._frm_advanced, text="Xon/Xoff", variable=self._xonxoff ) self._lbl_timeout = Label(self._frm_advanced, text="Timeout (s)") self._spn_timeout = Spinbox( self._frm_advanced, values=self._timeout_rng, width=4, state=READONLY, readonlybackground=self._readonlybg, wrap=True, textvariable=self._timeout, )
def __init__(self, master, font_dict={}, text="Abcd", title="Font Chooser", **kwargs): """ Create a new FontChooser instance. Arguments: master : Tk or Toplevel instance master window font_dict : dict dictionnary, like the one returned by the ``actual`` method of a ``Font`` object: :: {'family': str, 'size': int, 'weight': 'bold'/'normal', 'slant': 'italic'/'roman', 'underline': bool, 'overstrike': bool} text : str text to be displayed in the preview label title : str window title kwargs : dict additional keyword arguments to be passed to ``Toplevel.__init__`` """ Toplevel.__init__(self, master, **kwargs) self.title(title) self.resizable(False, False) self.protocol("WM_DELETE_WINDOW", self.quit) self._validate_family = self.register(self.validate_font_family) self._validate_size = self.register(self.validate_font_size) # --- variable storing the chosen font self.res = "" style = Style(self) style.configure("prev.TLabel", background="white") bg = style.lookup("TLabel", "background") self.configure(bg=bg) # --- family list self.fonts = list(set(families())) self.fonts.append("TkDefaultFont") self.fonts.sort() for i in range(len(self.fonts)): self.fonts[i] = self.fonts[i].replace(" ", "\ ") max_length = int(2.5 * max([len(font) for font in self.fonts])) // 3 self.sizes = ["%i" % i for i in (list(range(6, 17)) + list(range(18, 32, 2)))] # --- font default font_dict["weight"] = font_dict.get("weight", "normal") font_dict["slant"] = font_dict.get("slant", "roman") font_dict["underline"] = font_dict.get("underline", False) font_dict["overstrike"] = font_dict.get("overstrike", False) font_dict["family"] = font_dict.get("family", self.fonts[0].replace('\ ', ' ')) font_dict["size"] = font_dict.get("size", 10) # --- creation of the widgets # ------ style parameters (bold, italic ...) options_frame = Frame(self, relief='groove', borderwidth=2) self.font_family = StringVar(self, " ".join(self.fonts)) self.font_size = StringVar(self, " ".join(self.sizes)) self.var_bold = BooleanVar(self, font_dict["weight"] == "bold") b_bold = Checkbutton(options_frame, text=TR["Bold"], command=self.toggle_bold, variable=self.var_bold) b_bold.grid(row=0, sticky="w", padx=4, pady=(4, 2)) self.var_italic = BooleanVar(self, font_dict["slant"] == "italic") b_italic = Checkbutton(options_frame, text=TR["Italic"], command=self.toggle_italic, variable=self.var_italic) b_italic.grid(row=1, sticky="w", padx=4, pady=2) self.var_underline = BooleanVar(self, font_dict["underline"]) b_underline = Checkbutton(options_frame, text=TR["Underline"], command=self.toggle_underline, variable=self.var_underline) b_underline.grid(row=2, sticky="w", padx=4, pady=2) self.var_overstrike = BooleanVar(self, font_dict["overstrike"]) b_overstrike = Checkbutton(options_frame, text=TR["Overstrike"], variable=self.var_overstrike, command=self.toggle_overstrike) b_overstrike.grid(row=3, sticky="w", padx=4, pady=(2, 4)) # ------ Size and family self.var_size = StringVar(self) self.entry_family = Entry(self, width=max_length, validate="key", validatecommand=(self._validate_family, "%d", "%S", "%i", "%s", "%V")) self.entry_size = Entry(self, width=4, validate="key", textvariable=self.var_size, validatecommand=(self._validate_size, "%d", "%P", "%V")) self.list_family = Listbox(self, selectmode="browse", listvariable=self.font_family, highlightthickness=0, exportselection=False, width=max_length) self.list_size = Listbox(self, selectmode="browse", listvariable=self.font_size, highlightthickness=0, exportselection=False, width=4) scroll_family = Scrollbar(self, orient='vertical', command=self.list_family.yview) scroll_size = Scrollbar(self, orient='vertical', command=self.list_size.yview) self.preview_font = Font(self, **font_dict) if len(text) > 30: text = text[:30] self.preview = Label(self, relief="groove", style="prev.TLabel", text=text, font=self.preview_font, anchor="center") # --- widget configuration self.list_family.configure(yscrollcommand=scroll_family.set) self.list_size.configure(yscrollcommand=scroll_size.set) self.entry_family.insert(0, font_dict["family"]) self.entry_family.selection_clear() self.entry_family.icursor("end") self.entry_size.insert(0, font_dict["size"]) try: i = self.fonts.index(self.entry_family.get().replace(" ", "\ ")) except ValueError: # unknown font i = 0 self.list_family.selection_clear(0, "end") self.list_family.selection_set(i) self.list_family.see(i) try: i = self.sizes.index(self.entry_size.get()) self.list_size.selection_clear(0, "end") self.list_size.selection_set(i) self.list_size.see(i) except ValueError: # size not in list pass self.entry_family.grid(row=0, column=0, sticky="ew", pady=(10, 1), padx=(10, 0)) self.entry_size.grid(row=0, column=2, sticky="ew", pady=(10, 1), padx=(10, 0)) self.list_family.grid(row=1, column=0, sticky="nsew", pady=(1, 10), padx=(10, 0)) self.list_size.grid(row=1, column=2, sticky="nsew", pady=(1, 10), padx=(10, 0)) scroll_family.grid(row=1, column=1, sticky='ns', pady=(1, 10)) scroll_size.grid(row=1, column=3, sticky='ns', pady=(1, 10)) options_frame.grid(row=0, column=4, rowspan=2, padx=10, pady=10, ipadx=10) self.preview.grid(row=2, column=0, columnspan=5, sticky="eswn", padx=10, pady=(0, 10), ipadx=4, ipady=4) button_frame = Frame(self) button_frame.grid(row=3, column=0, columnspan=5, pady=(0, 10), padx=10) Button(button_frame, text="Ok", command=self.ok).grid(row=0, column=0, padx=4, sticky='ew') Button(button_frame, text=TR["Cancel"], command=self.quit).grid(row=0, column=1, padx=4, sticky='ew') self.list_family.bind('<<ListboxSelect>>', self.update_entry_family) self.list_size.bind('<<ListboxSelect>>', self.update_entry_size, add=True) self.list_family.bind("<KeyPress>", self.keypress) self.entry_family.bind("<Return>", self.change_font_family) self.entry_family.bind("<Tab>", self.tab) self.entry_size.bind("<Return>", self.change_font_size) self.entry_family.bind("<Down>", self.down_family) self.entry_size.bind("<Down>", self.down_size) self.entry_family.bind("<Up>", self.up_family) self.entry_size.bind("<Up>", self.up_size) # bind Ctrl+A to select all instead of go to beginning self.bind_class("TEntry", "<Control-a>", self.select_all) self.wait_visibility(self) self.grab_set() self.entry_family.focus_set() self.lift()
def __init__(self, master, database): self.master = master self.database = database self.master.title('Tkinter Word Search') self.master.geometry('750x600') self.master.grid_columnconfigure(0, weight=1) self.frame_statement = LabelFrame(self.master, text='Entry', width=500, height=150) self.frame_statement_list = LabelFrame(self.master, text='Statements', width=500, height=270) self.frame_vocalbulary = LabelFrame(self.master, text='Vocalbulary', width=200, height=420) self.frame_vectors = LabelFrame(self.master, text='Occurrences', width=750, height=150) self.label_statement = Label(self.frame_statement, text="Enter Statement:") self.label_statement.grid(row=0, column=0, sticky=W, pady=5, padx=10) self.entry_statement = Entry(self.frame_statement, width=58) self.entry_statement.grid(row=1, column=0, sticky=W, pady=5, padx=10, columnspan=4) self.listbox_statements = Listbox(self.frame_statement_list, width=59, height=10) self.listbox_statements.grid(row=0, column=0, sticky=W, pady=5, padx=10, columnspan=4) #Bind Select self.listbox_statements.bind('<<ListboxSelect>>', self.select_statement) self.listbox_vocalbulary = Listbox(self.frame_vocalbulary, width=23, height=20) self.listbox_vocalbulary.grid(row=0, column=0, sticky=W, pady=10, padx=5) self.listbox_vectors = Listbox(self.frame_vectors, width=87, height=6) self.listbox_vectors.grid(row=0, column=0, sticky=W, pady=10, padx=5) self.button_create = Button(self.frame_statement, text='Add', width=10, command=self.add) self.button_create.grid(row=2, column=0, sticky=W, pady=5, padx=10) self.button_update = Button(self.frame_statement, text='Update', width=10, command=self.update) self.button_update.grid(row=2, column=3, sticky=W, pady=5, padx=10) #self.button_vocalbulary = Button(self.frame_statement_list, text='Get Vocalbulary', width=15, command=self.generate_vocalbulary) #self.button_vocalbulary.grid(row=1, column=3, sticky=W, pady=5, padx=10) self.button_clear = Button(self.frame_statement_list, text='Clear List', width=15, command=self.clear) self.button_clear.grid(row=1, column=3, sticky=W, pady=5, padx=10) self.button_delete = Button(self.frame_statement_list, text='Remove', width=10, command=self.remove) self.button_delete.grid(row=1, column=0, sticky=W, pady=5, padx=10) self.button_delete["state"] = "disabled" self.button_update["state"] = "disabled" self.frame_statement.grid(row=0, column=0, sticky=W, pady=10, padx=10) self.frame_statement.grid_propagate(False) self.frame_statement_list.grid(row=1, column=0, sticky=W, pady=0, padx=10) self.frame_statement_list.grid_propagate(False) self.frame_vocalbulary.grid(row=0, column=1, sticky=W, pady=0, padx=15, rowspan=2) self.frame_vocalbulary.grid_propagate(False) self.frame_vectors.grid(row=2, column=0, sticky=W, pady=0, padx=15, columnspan=2) self.frame_vectors.grid_propagate(False) self.populate_listbox_statement()
def init_window(): # Init program window... window = Tk() window.title(title) window.geometry(dimensions) style = ttk.Style() style.theme_use(style_txt) # Header Section header = Frame(window) header.pack(side="top", fill="x") Label(header, text=header_title, font=(main_font, title_font_size, "bold")).pack() # Test ID testID = Frame(window) testID.pack(side="top", fill="x") Label(testID, text=test_id_txt, font=(main_font, genereal_font_size, "bold"), padx=left_padding).pack(side="left") global test_id_entry test_id_entry = Entry(testID, highlightbackground=highlight_bg_color, bg=label_bg_color) test_id_entry.pack(side="left") Label(testID, text=test_format_txt, padx=left_padding).pack(side="left") # Directory Section directory = Frame(window) directory.pack(side="top", fill="x") Label(directory, text=directory_txt, padx=left_padding).pack(side="left") global current_dir current_dir = StringVar() current_dir_label = Label(directory, textvariable=current_dir) # Save Directory Button will Select folder and Get Folder's Path def mfileopen(): current_dir.set(askdirectory()) Button(directory, text=select_dir_txt, command=mfileopen).pack(side="left") current_dir_label.pack(side="left") # Basic Information profile_bar = Frame(window) Label(profile_bar, text=test_info_txt, font=(main_font, genereal_font_size, "bold"), padx=left_padding).pack(side="left") profile_bar.pack(side="top", fill="x") gender_bar = Frame(window) gender_bar.pack(side="top", fill="x") Label(gender_bar, text=gender_txt, padx=left_padding).pack(side="left") global var_gender var_gender = StringVar() var_gender.set(gender_selection[0][1]) for txt, val in gender_selection: Radiobutton( gender_bar, text=txt, variable=var_gender, value=val, command=lambda t=txt, v=var_gender: modify_selection(t, v)).pack( side="left") # Age age_bar = Frame(window) age_bar.pack(side="top", fill="x") Label(age_bar, text=age_txt, padx=left_padding).pack(side="left") global age_entry age_entry = Entry(age_bar, highlightbackground=highlight_bg_color, bg=label_bg_color) age_entry.pack(side="left") # Height height_bar = Frame(window) height_bar.pack(side="top", fill="x") Label(height_bar, text=height_txt, padx=left_padding).pack(side="left") Entry(height_bar, highlightbackground=highlight_bg_color, bg=label_bg_color).pack(side="left") # Weight weight_bar = Frame(window) weight_bar.pack(side="top", fill="x") Label(weight_bar, text=weight_txt, padx=left_padding).pack(side="left") Entry(weight_bar, highlightbackground=highlight_bg_color, bg=label_bg_color).pack(side="left") # Test Settings settings = Frame(window) settings.pack(side="top", fill="x") Label(settings, text=settings_txt, font=(main_font, genereal_font_size, "bold"), padx=left_padding).pack(side="left") # Left or Right Leg legs = Frame(window) legs.pack(side="top", fill="x") Label(legs, text=leg_txt, padx=left_padding).pack(side="left") # Intent of Movement mov = Frame(window) mov.pack(side="top", fill="x") Label(mov, text=leg_act_text, padx=left_padding).pack(side="left") # Sensor sensor = Frame(window) sensor.pack(side="top", fill="x") Label(sensor, text=has_sensor_txt, padx=left_padding).pack(side="left") #added by H # Direction of Movement direction = Frame(window) direction.pack(side="top", fill="x") Label(direction, text=direction_txt, padx=left_padding).pack(side="left") # Length of Hair hairlength = Frame(window) hairlength.pack(side="top", fill="x") Label(hairlength, text=hairlength_txt, padx=left_padding).pack(side="left") # Type of Environment environment = Frame(window) environment.pack(side="top", fill="x") Label(environment, text=environment_txt, padx=left_padding).pack(side="left") # Density of Hair density = Frame(window) density.pack(side="top", fill="x") Label(density, text=density_txt, padx=left_padding).pack(side="left") # Head Circumference circumference_bar = Frame(window) circumference_bar.pack(side="top", fill="x") Label(circumference_bar, text=circumference_txt, padx=left_padding).pack(side="left") Entry(circumference_bar, highlightbackground=highlight_bg_color, bg=label_bg_color).pack(side="left") # Measurement Position position = Frame(window) position.pack(side="top", fill="x") Label(position, text=position_txt, padx=left_padding).pack(side="left") # Function to modify the corresponding global variable whenever a user changes a radio button. def modify_selection(text, v): value = int(v.get()) # Note -> This presumes each option will remain binary. In case that changes, this must be updated. index = (value - 1) % 2 # Calculate the total number of options. max_size = len(gender_selection) + len(leg_selection) + len( movement_selection) + len(sensor_selection) + len( direction_selection) + len(hairlength_selection) + len( environment_selection) + len(density_selection) + len( position_selection) # Since "sensor" is the last option, value is > than total - len(sensor_selection). if value > max_size - len(position_selection): global position_sel position_sel = position_selection[index] return # Subtract the length of sensor_selection and the remaining is a subproblem # (similar to the original problem, but smaller in size). max_size -= len(position_selection) if value > max_size - len(density_selection): global density_sel density_sel = density_selection[index] return max_size -= len(density_selection) if value > max_size - len(environment_selection): global environment_sel environment_sel = environment_selection[index] return max_size -= len(environment_selection) if value > max_size - len(hairlength_selection): global hairlength_sel hairlength_sel = hairlength_selection[index] return max_size -= len(hairlength_selection) if value > max_size - len(direction_selection): global direction_sel direction_sel = direction_selection[index] return max_size -= len(direction_selection) if value > max_size - len(sensor_selection): global sensor_connected sensor_connected = sensor_selection[index] return max_size -= len(sensor_selection) if value > max_size - len(movement_selection): global motion_type motion_type = movement_selection[index] return max_size -= len(movement_selection) if value > max_size - len(leg_selection): global leg leg = leg_selection[index] return max_size -= len(leg_selection) if value > max_size - len(gender_selection): global gender gender = gender_selection[index] return ################################################################# # Creation of various radio buttons for the options above var_leg = IntVar() var_leg.set(leg_selection[0][1]) for txt, val in leg_selection: Radiobutton( legs, text=txt, variable=var_leg, value=val, command=lambda t=txt, v=var_leg: modify_selection(t, v)).pack( side="left") var_test = IntVar() var_test.set(movement_selection[0][1]) for txt, val in movement_selection: Radiobutton( mov, text=txt, variable=var_test, value=val, command=lambda t=txt, v=var_test: modify_selection(t, v)).pack( side="left") var_sensor = IntVar() var_sensor.set(sensor_selection[0][1]) for txt, val in sensor_selection: Radiobutton( sensor, text=txt, variable=var_sensor, value=val, command=lambda t=txt, v=var_sensor: modify_selection(t, v)).pack( side="left") var_dir = IntVar() var_dir.set(direction_selection[0][1]) for txt, val in direction_selection: Radiobutton( direction, text=txt, variable=var_dir, value=val, command=lambda t=txt, v=var_dir: modify_selection(t, v)).pack( side="left") var_hairlength = IntVar() var_hairlength.set(hairlength_selection[0][1]) for txt, val in hairlength_selection: Radiobutton(hairlength, text=txt, variable=var_hairlength, value=val, command=lambda t=txt, v=var_hairlength: modify_selection( t, v)).pack(side="left") var_env = IntVar() var_env.set(environment_selection[0][1]) for txt, val in environment_selection: Radiobutton( environment, text=txt, variable=var_env, value=val, command=lambda t=txt, v=var_env: modify_selection(t, v)).pack( side="left") var_density = IntVar() var_density.set(density_selection[0][1]) for txt, val in density_selection: Radiobutton( density, text=txt, variable=var_density, value=val, command=lambda t=txt, v=var_density: modify_selection(t, v)).pack( side="left") var_position = IntVar() var_position.set(position_selection[0][1]) for txt, val in position_selection: Radiobutton( position, text=txt, variable=var_position, value=val, command=lambda t=txt, v=var_position: modify_selection(t, v)).pack( side="left") # List of Possible Ports port_bar = Frame(window) port_bar.pack(side="top", fill="x") Label(port_bar, text=sensor_port_txt, padx=left_padding).pack(side="left") p_scroll_frame = Frame(window) p_scroll_frame.pack(side="top", fill="x", padx=left_padding) scrollbar = Scrollbar(p_scroll_frame, orient=VERTICAL) ports_list = Listbox(p_scroll_frame, bg=label_bg_color, height=scroll_item_height, highlightcolor=selected_item_color, selectbackground=selected_item_color, selectmode="SINGLE", yscrollcommand=1) # TODO -> Add the refresh button and dynamically re-populate the ports_list. ports = list(list_ports.comports()) for i in range(0, len(ports)): ports_list.insert(i + 1, ports[i]) ports_list.pack(side="left") scrollbar.config(command=ports_list.yview) scrollbar.pack(side="left", fill="y") # List of LSL Stream Names lsl_bar = Frame(window) lsl_bar.pack(side="top", fill="x") lsl_scroll_frame = Frame(window) lsl_scroll_frame.pack(side="top", fill="x", padx=left_padding) Label(lsl_bar, text=lsl_txt, padx=left_padding).pack(side="left") scrollbar = Scrollbar(lsl_scroll_frame, orient=VERTICAL) lsl_list = Listbox(lsl_scroll_frame, bg=label_bg_color, height=scroll_item_height, highlightcolor=selected_item_color, selectbackground=selected_item_color, selectmode="SINGLE", yscrollcommand=1) # TODO -> Add the refresh button and dynamically re-populate the ports_list. # TODO -> Make sure the app launches even when there's no LSL stream running. lsl_streams = resolve_stream('type', 'EEG') for i in range(0, len(lsl_streams)): lsl_list.insert(i + 1, lsl_streams[i].name()) lsl_list.pack(side="left") scrollbar.config(command=lsl_list.yview) scrollbar.pack(side="left", fill="y") # Start Button Button(p_scroll_frame, text=start_btn_txt, font=(main_font, start_font_size, "bold"), bg=label_bg_color, fg="white", padx=left_padding, pady=left_padding, command=start_button).pack() # Start GUI loop... window.mainloop()
window = Tk() window.title("Cube Manager") title = Label(window, text="Cube Manager") title.grid(row=0, column=0, columnspan=4) # Code to create buttons and entry boxes to enter the solve times SrNo = Label(window, text="Attempt Number") minlab = Label(window, text="min") seclab = Label(window, text="sec") mseclab = Label(window, text="msec") SrNoEnt = Entry(window) minEnt = Entry(window) secEnt = Entry(window) msecEnt = Entry(window) timings = Listbox(window) addTime = Button(window, text="Add time", command=addTimeToList) SrNo.grid(column=0, row=3) minlab.grid(column=1, row=3) seclab.grid(column=2, row=3) mseclab.grid(column=3, row=3) SrNoEnt.grid(column=0, row=4) minEnt.grid(column=1, row=4) secEnt.grid(column=2, row=4) msecEnt.grid(column=3, row=4) timings.grid(column=0, row=5, columnspan=4) addTime.grid(column=0, row=6, columnspan=4) # Create Button and Label to select scramble file selectScramPDF = Button( window, text="Select Scramble File ", command=selectFile)
def generate_subjects_list(root, subjects): return Listbox(root, height=len(subjects), width=18, selectmode=MULTIPLE)