def buttonbox(self, master): # add standard button box. override if you don't want the # standard buttons w = tix.Button(master, text="OK", width=10, command=self.ok, default=tix.ACTIVE) w.pack(side=tix.LEFT, padx=5, pady=5) w = tix.Button(master, text="Cancel", width=10, command=self.cancel) w.pack(side=tix.LEFT, padx=5, pady=5) self.bind("<Return>", self.ok) self.bind("<Escape>", self.cancel)
def show_directs(self): for i, name in enumerate(self.directs['names']): print(name) for j in range(3): btn = tk.Button(self.top_frame, text=name) btn.bind('<Button-1>', self.direct_chosen) btn.grid(row=i, column=j) self.widget_directs = self.top_frame.grid_slaves()
def search(self,initial=str()): # 1. Ask the card ID (set + number) resp = askstring("Ajouter une carte", "Saisissez l'identifiant à 6~8 caractères en bas à gauche de la carte", initialvalue=initial) if resp is None : return z = re.fullmatch("(?P<code>p?[A-Za-z][A-Za-z0-9]{2})(?P<number>[0-9]{1,3}(a|b)?)", resp) if not z : showerror("Saisie incorrecte", "Assurez-vous d'avoir correctement saisi l'identifiant (en respectant la casse)") return set_id, num = z.groupdict()["code"].upper(), z.groupdict()["number"].lstrip("0") # if the card's already stored, we can add it manually without request to the remote API for i,card in enumerate(self._cards) : if card.set == set_id and card.number == num : self._cards[i] += 1 if card in self.cards : #means it's displayed self.update_one(i) # it may be not the same index in self.cards and self._cards self.names.listbox.select_set(self.cards.index(card)) self.display_card() return # 2. Proceed the request rq = Card.where(language=LANG, set=set_id, number=num).all() if not len(rq) : rq = Card.where(language=LANG, set=set_id, number=num+"a").all() # maybe it's a flip card if not len(rq) : showerror("Aucune carte trouvée", "Le service distant ne répond pas, ou vérifiez votre saisie") return if len(rq) > 1 : # never happens yet tl = tix.TopLevel(self) lf = tix.LabelFrame(tl, text="Carte(s) trouvée(s), cliquez sur la bonne") lf.pack(fill="both",expand=True) for i,card in enumerate(rq): def mkbuttonjob(tl, rq, card): def buttonjob(): tl.destroy() rq.clear() rq.append(card) return buttonjob tix.Button(lf, image=card.getimg(), command=mkbuttonjob(tl, rq, card)).grod(column=i) tl.mainloop() rq = rq[0] # 3. Add the found card to the existing database self._cards.append(rq) self.update(self.cards) # we pass self.cards for parameter, so that update will sort it if rq in self.cards : self.names.listbox.select_set(self.cards.index(rq)) self.display_card()
def sequentEntryBox(self, parent): seqFrame = tix.Frame(parent) label = tix.Label(seqFrame, text='Sequent') label.grid(row=0, column=0, padx=5, pady=5) self.sequentEntry = tix.Entry(seqFrame, width=100) self.sequentEntry.grid(row=0, column=1, padx=5, pady=5) self.proveBtn = tix.Button(seqFrame, text='Prove', command=self.onProveButton) self.proveBtn.grid(row=0, column=2, padx=5, pady=5) seqFrame.pack(fill=tix.X, ipadx=5, padx=40, pady=15)
def __init__(self, master, proc_fn): self.master = master self.frame = tix.Frame(master) self.frame.width = 150 self.frame.rowconfigure(0, minsize=15) self.frame.rowconfigure(3, minsize=15) self.frame.rowconfigure(5, minsize=15) self.frame.rowconfigure(7, minsize=15) self.frame.columnconfigure(0, minsize=15) self.frame.columnconfigure(4, minsize=15) self.frame.pack() tix.Label(self.frame, text="Archivo de Entrada :").grid(row=2, sticky=tix.W) tix.Label(self.frame, text="Archivo de Salida :").grid(row=4, sticky=tix.W) self.input = tix.Entry(self.frame) self.input.grid(row=2, column=3) tix.Button(self.frame, text="...", command=self.get_input).grid(row=2, column=2) self.output = tix.Entry(self.frame) self.output.grid(row=4, column=3) tix.Button(self.frame, text="...", command=self.set_output).grid(row=4, column=2) tix.Button(self.frame, text="Cancelar", command=self.frame.quit).grid(row=6, column=1) tix.Button(self.frame, text="Procesar", command=proc_fn).grid(row=6, column=3) self.box = None self.in_out_state = None self.ready = False self.in_file = None self.out_file = None
def main(): top = tix.Tk() nb = tix.NoteBook(top, width=300, height=200) nb.pack(expand=True, fill="both") nb.add("page1", label="text") f1 = tix.Frame(nb.subwidget("page1")) st = tix.ScrolledText(f1) st.subwidget("text").insert("1.0", "Here is where the text goes...") st.pack(expand=True) f1.pack() nb.add("page2", label="Message Boxes") f2 = tix.Frame(nb.subwidget("page2")) # 通过联合使用expand,fill和anchor,在窗口大小改变时,可以精确地控制小部件的行为 tix.Button( f2, text="error", bg="lightblue", command=lambda t="error", m="This is bad!": mb.showerror(t, m)).pack( fill="x", expand=True) tix.Button( f2, text="info", bg="pink", command=lambda t="info", m="Information": mb.showinfo(t, m)).pack( fill="x", expand=True) tix.Button(f2, text="warning", bg="yellow", command=lambda t="warning", m="Don't do it!": mb.showwarning( t, m)).pack(fill="x", expand=True) tix.Button( f2, text="question", bg="green", command=lambda t="question", m="Will I?": mb.askquestion(t, m)).pack( fill="x", expand=True) tix.Button(f2, text="yes - no", bg="lightgrey", command=lambda t="yes - no", m="Are you sure?": mb.askyesno( t, m)).pack(fill="x", expand=True) tix.Button(f2, text="yes - no - cancel", bg="black", fg="white", command=lambda t="yes - not - cancel", m="Last chance...": mb. askyesnocancel(t, m)).pack(fill="x", expand=True) f2.pack(side="top", fill="x") top.mainloop()
def __init__(self): self.root = tk.Tk() self.root.geometry('700x700') self.scrollbar = tk.ScrolledWindow(self.root, scrollbar=tk.BOTH) self.scrollbar.pack(fill=tk.BOTH, expand=1) self.top_frame = tk.Frame(self.scrollbar.window) self.top_frame.pack(side=tk.TOP) self.bottom_frame = tk.Frame(self.scrollbar.window) self.bottom_frame.pack(side=tk.BOTTOM) self.forward = tk.Button(self.bottom_frame, text='далее') self.forward.pack(side=tk.LEFT) self.forward.bind('<1>', self.click_forward) self.forward.pos = '' self.path = tk.Label(self.bottom_frame, text='') self.path.pack(side=tk.LEFT)
def refresh(self, bundle): self._controller.title(Constants.TITLE_GRAPHIC) self.clearWindow() # Mygtukas atgal, kuris grizta i Home (pries tai buvusi) langa backButton = tkx.Button(self, text="<-- ATGAL") backButton.pack() backButton.config(command=lambda: self._controller.switch_frame( Constants.WINDOW_HOME)) # Jeigu keiciant langa buvo perduoti diagramos duomenys, sugeneruojama diagrama if bundle: # Vykdomas try/except blokas, kad isvengti diagramos braizymo klaidu: # Blogi duomenys, masyvu ilgiu neatitikimas (x asis turi daugiau reiksmiu nei y ir atvirksciai) ir pns. try: self.generateDiagram(bundle) except: self.showErrorLabel() else: self.showErrorLabel()
def about_license_clicked(self): about = tix.Toplevel() # bg="#0f0" does not work about.title("License") about.resizable(False, False) set_window_icon(about) ### msg1 = tix.Message( about, width=420, text=licenseText, font=("DejaVu Sans", 9, "bold"), ) msg1.pack(fill="x", expand=True) ########### frame = tix.Frame(about) closeB = tix.Button( frame, text="Close", command=about.destroy, # bg="#ff0000", # activebackground="#ff5050", ) closeB.pack(side="right") frame.pack(fill="x")
def about_license_clicked(self): about = tix.Toplevel() ## bg='#0f0' does not work about.title('License') about.resizable(False, False) about.wm_iconbitmap('@%s' % xbmLogo) ### msg1 = tix.Message( about, width=420, text=licenseText, font=('DejaVu Sans', 9, 'bold'), ) msg1.pack(fill='x', expand=True) ########### frame = tix.Frame(about) closeB = tix.Button( frame, text='Close', command=about.destroy, #bg='#ff0000', #activebackground='#ff5050', ) closeB.pack(side='right') frame.pack(fill='x')
def about_credits_clicked(self): about = tix.Toplevel() ## bg='#0f0' does not work about.title('Credits') about.resizable(False, False) set_window_icon(about) ### msg1 = tix.Message( about, width=500, text='\n'.join(authors), font=('DejaVu Sans', 9, 'bold'), ) msg1.pack(fill='x', expand=True) ########### frame = tix.Frame(about) closeB = tix.Button( frame, text='Close', command=about.destroy, #bg='#ff0000', #activebackground='#ff5050', ) closeB.pack(side='right') frame.pack(fill='x')
def about_clicked(self): about = tix.Toplevel(width=600) # bg="#0f0" does not work about.title("About PyGlossary") about.resizable(False, False) set_window_icon(about) ### msg1 = tix.Message( about, width=350, text="PyGlossary %s (Tkinter)" % VERSION, font=("DejaVu Sans", 13, "bold"), ) msg1.pack(fill="x", expand=True) ### msg2 = tix.Message( about, width=350, text=aboutText, font=("DejaVu Sans", 9, "bold"), justify=tix.CENTER, ) msg2.pack(fill="x", expand=True) ### msg3 = tix.Message( about, width=350, text=homePage, font=("DejaVu Sans", 8, "bold"), fg="#3333ff", ) msg3.pack(fill="x", expand=True) ### msg4 = tix.Message( about, width=350, text="Install PyGTK to have a better interface!", font=("DejaVu Sans", 8, "bold"), fg="#00aa00", ) msg4.pack(fill="x", expand=True) ########### frame = tix.Frame(about) ### button = tix.Button( frame, text="Close", command=about.destroy, # bg="#ff0000", # activebackground="#ff5050", ) button.pack(side="right") ### button = tix.Button( frame, text="License", command=self.about_license_clicked, # bg="#00e000", # activebackground="#22f022", ) button.pack(side="right") ### button = tix.Button( frame, text="Credits", command=self.about_credits_clicked, # bg="#0000ff", # activebackground="#5050ff", ) button.pack(side="right") ### frame.pack(fill="x")
def __init__(self, path="", **options): self.glos = Glossary(ui=self) self.pref = {} self.pref_load(**options) ############################################# rootWin = self.rootWin = tix.Tk() tix.Frame.__init__(self, rootWin) rootWin.title("PyGlossary (Tkinter)") rootWin.resizable(True, False) ######## set_window_icon(rootWin) ######## self.pack(fill="x") # rootWin.bind("<Configure>", self.resized) ###################### self.glos = Glossary(ui=self) self.pref = {} self.pref_load() self.pathI = "" self.pathO = "" self.fcd_dir = join(homeDir, "Desktop") ###################### vpaned = tk.PanedWindow(self, orient=tk.VERTICAL) notebook = tix.NoteBook(vpaned) notebook.add("tab1", label="Convert", underline=0) notebook.add("tab2", label="Reverse", underline=0) convertFrame = tix.Frame(notebook.tab1) ###################### frame = tix.Frame(convertFrame) ## label = tix.Label(frame, text="Read from format") label.pack(side="left") ## comboVar = tk.StringVar() combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc) # comboVar.set(Glossary.readDesc[0]) comboVar.set(noneItem) combo.pack(side="left") self.combobox_i = comboVar ## frame.pack(fill="x") ################### frame = tix.Frame(convertFrame) ## label = tix.Label(frame, text=" Path:") label.pack(side="left") ## entry = tix.Entry(frame) entry.pack(side="left", fill="x", expand=True) entry.bind_all("<KeyPress>", self.entry_changed) self.entry_i = entry ## button = tix.Button( frame, text="Browse", command=self.browse_i, # bg="#f0f000", # activebackground="#f6f622", ) button.pack(side="left") ## frame.pack(fill="x") ###################### frame = tix.Frame(convertFrame) ## label = tix.Label(frame, text="Write to format ") label.pack(side="left") ## comboVar = tk.StringVar() combo = tk.OptionMenu(frame, comboVar, *Glossary.writeDesc) # comboVar.set(Glossary.writeDesc[0]) comboVar.set(noneItem) combo.pack(side="left") combo.bind("<Configure>", self.combobox_o_changed) self.combobox_o = comboVar ## frame.pack(fill="x") ################### frame = tix.Frame(convertFrame) ## label = tix.Label(frame, text=" Path:") label.pack(side="left") ## entry = tix.Entry(frame) entry.pack(side="left", fill="x", expand=True) # entry.bind_all("<KeyPress>", self.entry_changed) self.entry_o = entry ## button = tix.Button( frame, text="Browse", command=self.browse_o, # bg="#f0f000", # activebackground="#f6f622", ) button.pack(side="left") ## frame.pack(fill="x") ####### frame = tix.Frame(convertFrame) label = tix.Label(frame, text=" " * 15) label.pack( side="left", fill="x", expand=True, ) button = tix.Button( frame, text="Convert", command=self.convert, # bg="#00e000", # activebackground="#22f022", ) button.pack( side="left", fill="x", expand=True, ) ### frame.pack(fill="x") ###### convertFrame.pack(fill="x") vpaned.add(notebook) ################# console = tix.Text(vpaned, height=15, background="#000000") # self.consoleH = 15 # sbar = Tix.Scrollbar( # vpaned, # orien=Tix.VERTICAL, # command=console.yview # ) # sbar.grid ( row=0, column=1) # console["yscrollcommand"] = sbar.set # console.grid() console.pack(fill="both", expand=True) log.addHandler(TkTextLogHandler(console), ) console.insert("end", "Console:\n") #### vpaned.add(console) vpaned.pack(fill="both", expand=True) self.console = console ################## frame2 = tix.Frame(self) clearB = tix.Button( frame2, text="Clear", command=self.console_clear, # bg="black", # fg="#ffff00", # activebackground="#333333", # activeforeground="#ffff00", ) clearB.pack(side="left") #### label = tix.Label(frame2, text="Verbosity") label.pack(side="left") ## comboVar = tk.StringVar() combo = tk.OptionMenu( frame2, comboVar, 0, 1, 2, 3, 4, ) comboVar.set(log.getVerbosity()) comboVar.trace("w", self.verbosityChanged) combo.pack(side="left") self.verbosityCombo = comboVar ##### pbar = ProgressBar(frame2, width=400) pbar.pack(side="left", fill="x", expand=True) self.pbar = pbar frame2.pack(fill="x") self.progressTitle = "" ############# # vpaned.grid() # bottomFrame.grid() # self.grid() ##################### # lbox = Tix.Listbox(convertFrame) # lbox.insert(0, "aaaaaaaa", "bbbbbbbbbbbbbbbbbbbb") # lbox.pack(fill="x") ############## frame3 = tix.Frame(self) aboutB = tix.Button( frame3, text="About", command=self.about_clicked, # bg="#e000e0", # activebackground="#f030f0", ) aboutB.pack(side="right") closeB = tix.Button( frame3, text="Close", command=self.quit, # bg="#ff0000", # activebackground="#ff5050", ) closeB.pack(side="right") frame3.pack(fill="x") # __________________________ Reverse Tab __________________________ # revFrame = tix.Frame(notebook.tab2) revFrame.pack(fill="x") ###################### frame = tix.Frame(revFrame) ## label = tix.Label(frame, text="Read from format") label.pack(side="left") ## comboVar = tk.StringVar() combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc) # comboVar.set(Glossary.readDesc[0]) comboVar.set(noneItem) combo.pack(side="left") self.combobox_r_i = comboVar ## frame.pack(fill="x") ################### frame = tix.Frame(revFrame) ## label = tix.Label(frame, text=" Path:") label.pack(side="left") ## entry = tix.Entry(frame) entry.pack(side="left", fill="x", expand=True) # entry.bind_all("<KeyPress>", self.entry_r_i_changed) self.entry_r_i = entry ## button = tix.Button( frame, text="Browse", command=self.r_browse_i, # bg="#f0f000", # activebackground="#f6f622", ) button.pack(side="left") ## button = tix.Button( frame, text="Load", command=self.r_load, # bg="#7777ff", ) button.pack(side="left") ### frame.pack(fill="x") ################### frame = tix.Frame(revFrame) ## label = tix.Label(frame, text="Output Tabfile") label.pack(side="left") ### entry = tix.Entry(frame) entry.pack(side="left", fill="x", expand=True) # entry.bind_all("<KeyPress>", self.entry_r_i_changed) self.entry_r_o = entry ## button = tix.Button( frame, text="Browse", command=self.r_browse_o, # bg="#f0f000", # activebackground="#f6f622", ) button.pack(side="left") ## frame.pack(fill="x") ############################## if path: self.entry_i.insert(0, path) self.entry_changed() self.load()
def run(): # test profile data try: profile_config = profile.load() except profile.Error as e: tkinter.messagebox.showerror('error on loading profile data', 'error on loading profile data.\n\n' + e) sys.exit(2) except Exception as e: tkinter.messagebox.showerror( 'error on loading profile data', 'error on loading profile data.\n\n' + repr(e)) sys.exit(2) app = tk.Tk() # setup gui root = _root.Root(app) root.pack(side=tk.TOP) menuframe = tk.Frame(app) pcol = 0 def set_action(): root.set(_root.Root.exampleparam) setbtn = tk.Button(menuframe, text='Set Example', command=set_action) setbtn.grid(row=0, column=pcol, padx=5) pcol += 1 def clear_action(): root.clear() clearbtn = tk.Button(menuframe, text='Clear', command=clear_action) clearbtn.grid(row=0, column=pcol, padx=5) pcol += 1 # get data and display on console def get_action(): print(root.get()) getbtn = tk.Button(menuframe, text='Dump to Console', command=get_action) getbtn.grid(row=0, column=pcol, padx=5) pcol += 1 def val_action(): err = root.validate() if err: error.show_as_messagebox(err) valbtn = tk.Button(menuframe, text='Validate', command=val_action) valbtn.grid(row=0, column=pcol, padx=5) pcol += 1 def load_action(): # get profile.config profile_config = profile.load() fname = tkinter.filedialog.askopenfilename( title='Load json file', defaultextension='.json', initialfile='TRIM.in.json', initialdir=profile_config['lastdir'], filetypes=[('JSON', '*.json'), ('All', '*')]) if fname: with open(fname, 'rt') as stream: # save as json format d = json.load(stream) # check version of json data and solve it d = context.solve_version(d) root.set(d) # load successed save lastdir profile_config['lastdir'] = os.path.dirname(fname) profile.update(profile_config) loadbtn = tk.Button(menuframe, text='Load .json', command=load_action) loadbtn.grid(row=0, column=pcol, padx=5) pcol += 1 def save_action(): class VExecption(Exception): def __init__(self, err): Exception.__init__(self) self.err = err try: err = root.validate() if err: raise VExecption(err) d = root.get() except VExecption as e: tkinter.messagebox.showerror( 'Validation error', 'validation error, save is aborted.\n\n' + error.format_errorstruct(e.err)) return except Error as e: tkinter.messagebox.showerror( 'exception error', 'exception received, save is aborted.\n' + e) return # get profile.config profile_config = profile.load() fname = tkinter.filedialog.asksaveasfilename( title='Save TRIM input file', initialfile='TRIM.in', initialdir=profile_config['lastdir'], filetypes=[('TRIM input', '*.in'), ('All', '*')]) if fname: # add context version d['version'] = context.currentversion # 0. remove existing .json json_name = fname + '.json' if os.path.exists(json_name): os.unlink(json_name) # 1. dump .json.temp jsont_name = fname + '.json.t' with open(jsont_name, 'wt') as stream: json.dump(d, stream, indent=2, sort_keys=True) # 2. save as trim data format with open(fname, 'wt') as stream: to_trim.to_trim(d, stream) # 3. rename .json.temp to .json os.rename(jsont_name, json_name) # file dump succeeded, save lastdir in the profile profile_config['lastdir'] = os.path.dirname(fname) profile.update(profile_config) spawn_trim(fname) getandsavebtn = tk.Button(menuframe, text='Save (& run TRIM)', command=save_action) getandsavebtn.grid(row=0, column=pcol, padx=5) menuframe.pack(side=tk.TOP) app.mainloop()
import tkinter.tix as tix root = tix.Tk() o = tix.FileSelectBox(root) o.pack() def print_file(): print(o.cget("value")) b = tix.Button(root, text="print") b.config(command=print_file) b.pack() root.mainloop()
# create the event handler to clear the text def evClear(): txt = stHistory.subwidget('text') txt.insert('end',eHello.get()+'\n') eHello.delete(0, 'end') # create the top level window/frame top = tk.Tk() F = tk.Frame(top) F.pack(fill="both") # Now the frame with text entry fEntry = tk.Frame(F, border=1) eHello = tk.Entry(fEntry) eHello.pack(side="left") stHistory = tk.ScrolledText(fEntry, width=150, height=55) stHistory.pack(side="bottom", fill="x") fEntry.pack(side="top") # Finally the frame with the buttons. # We'll sink this one for emphasis fButtons = tk.Frame(F, relief="sunken", border=1) bClear = tk.Button(fButtons, text="Clear Text", command=evClear) bClear.pack(side="left", padx=5, pady=2) bQuit = tk.Button(fButtons, text="Quit", command=F.quit) bQuit.pack(side="left", padx=5, pady=2) fButtons.pack(side="top", fill="x") # Now run the eventloop F.mainloop()
def __init__(self,visualize,visualizescore,visualizeindex): self.window=tix.Tk() self.window.title("Results Page") scr_win = tix.ScrolledWindow(self.window,width=1500, height=786) scr_win.grid(row=0,column=0) sframe = scr_win.window n=len(visualize) p=int(n/5) pp=n%5 print("total pages : "+str(p+1),"last page entries : "+str(pp)) # sorting visualize courseobjects=[] percentagematch1=[] stringmatches=[] for i in visualizescore : percentagematch1.append(i) visualizescore.sort(reverse=True) i=0 percentagematch=[] while i<len(visualizeindex) : p=percentagematch1.index(visualizescore[i]) courseobjects.append(visualizeindex[p]) stringmatches.append(visualize[p]) percentagematch.append(visualizescore[i]) i=i+1 # print(courseobjects) # print(stringmatches) # print(percentagematch) # i=0 # # while i<len(courseobjects) : # # print(courseobjects[i]) # # print(stringmatches[i]) # # print(percentagematch[i]) # # print("\n\n") # # i=i+1 def visualizebutton(mm): # print("________________match words ________") # print(mm.matchwords) # print("__________________source topics________________") # print(mm.sourcetopics) # print("__________________target topics________________") # print(mm.topics) # print("__________________topic matching_______________________") i=0 while i <len(mm.matchwords): print(mm.matchwords[i]+" : "+mm.matchwords[i+1]+" : "+str(mm.matchvalues[i])) i=i+2 print("-------------") print(mm.matchwords) c=comparepage(mm) def visitbutton(mm): print(mm.url) webbrowser.open(mm.url) i=0 coursefuncobjects=[] while i<len(courseobjects): m=courseobjects[i] mm=course(m) mm.percentage=percentagematch[i] mm.string=stringmatches[i] zx=[] zxv=[] zxc=[] k=stringmatches[i] for kk in k : kkk=kk.split(" :") v=kkk[1] j=kkk[0] jj=j.split("==") zxc.append(jj[0]) if int(v)>0 : j=kkk[0] jj=j.split("==") zx.append(jj[0]) zx.append(jj[1]) zxv.append(int(v)) zxv.append(int(v)) mm.matchwords=zx mm.matchvalues=zxv mm.sourcetopics=zxc coursefuncobjects.append(mm) i=i+1 # print(str(mm.title)+"\n"+"percentage matched :"+str(mm.percentage)+"\n"+str(mm.creators)+"\n"+str(mm.level)+" "+str(mm.startdate)+"; "+str(mm.duration)+"\n"+str(mm.review)+"pricing : "+"N/A") # m=visualizeindex[0] # mm=m.find("coursetitle").text # lbl1 = tkinter.Label(self.window, text="Title : "+str(mm),font=("Arial Black",35)) # lbl1.pack() # info=str(mm.title)+"\n"+str(mm.url)+"\n"+"percentage matched :"+str(mm.percentage)+"\n"+"Created By :"+str(mm.creators)+"\n"+"level :"+str(mm.level)+" ; "+str(mm.startdate)+"; "+str(mm.duration)+"\n"+str(mm.review)+"pricing : "+"N/A" # print("\n\n\n\n") # print(mm.topics) # print(mm.string) # print(mm.matchwords) # print(mm.matchvalues) # print("\n\n\n\n") # mm0=courseobjects[0] # info0=str(mm.title)+"\n"+str(mm.url)+"\n"+"percentage matched :"+str(mm.percentage)+"\n"+"Created By :"+str(mm.creators)+"\n"+"level :"+str(mm.level)+" ; "+str(mm.startdate)+"; "+str(mm.duration)+"\n"+str(mm.review)+"pricing : "+"N/A" # lbl0 = tix.Label(sframe, text=info,font=("Arial Black",20)) # lbl1.grid(row=2*i,column=0) # nextbutton=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm)) # nextbutton.grid(row=2*i,column=1) # nextbutton=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm)) # nextbutton.grid(row=2*i,column=2) # lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) # lbl1.grid(row=2*i+1,column=0) def roundstring22(str): l=len(str) i=18-l str=str+" " return str def roundstring85(str): l=len(str) # print(l) i=20-l str=" "+str return str def infofunc(mm): info="" title=mm.title title=roundstring85(title) l="Course Name" l=roundstring22(l) info=info+l+":"+title+"\n" provider="Coursera" provider=roundstring85(provider) l="MOOC Provider" l=roundstring22(l) info = info+l+":"+provider+"\n" link=mm.url link=roundstring85(link) l="Course Link" l=roundstring22(l) info=info+l+" : "+link+"\n" offeredby=mm.creators offeredby=roundstring85(offeredby) l="Offered By" l=roundstring22(l) info=info+l+":"+offeredby+"\n" z=mm.startdate x="no start date " # print(z,k) if z==x : zx="Self Paced" zx=roundstring85(zx) zxs="Course Type" zxs=roundstring22(zxs) duration=mm.duration duration=roundstring85(duration) d="Estimated Duration" d=roundstring22(d) info = info+zxs+":"+zx+"\n"+d+":"+duration+"\n" z1="Avg User Rating" z=roundstring22(z1) x=mm.review x=roundstring85(x) info=info+z+":"+x+"\n" p="Percentage Match" p=roundstring22(p) pp=mm.percentage pp=str(round(pp, 2)) pp=roundstring85(pp) info=info+p+":"+pp+"\n" p="Price" p=roundstring22(p) pp="Not Available" pp=roundstring85(pp) info=info+p+":"+pp return info else : zx="Scheduled" zx=roundstring85(zx) zxs="Course Type" zxs=roundstring22(zxs) startdate=mm.startdate startdate=roundstring85(startdate) d="Start Date" d=roundstring22(d) info = info+zxs+":"+zx+"\n"+d+":"+startdate+"\n" z="Avg User Rating" z=roundstring22(z) x=mm.review x=roundstring85(x) info=info+z+":"+x+"\n" p="Percentage Match" p=roundstring22(p) pp=mm.percentage pp=str(round(pp, 2)) pp=roundstring85(pp) info=info+p+":"+pp+"\n" p="Price" p=roundstring22(p) pp="Not Available" pp=roundstring85(pp) info=info+p+":"+pp return info i=0 try: # print("0") mm0=coursefuncobjects[i] # print("1") info=infofunc(mm0) # print("2") lbl0 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl0.grid(row=2*i,column=0) nextbutton0=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm0)) nextbutton0.grid(row=2*i,column=1) nextbutton00=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm0)) nextbutton00.grid(row=2*i,column=2) lbl0 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl0.grid(row=2*i+1,column=0) except : pass i=1 try: mm1=coursefuncobjects[i] info=infofunc(mm1) lbl = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl.grid(row=2*i,column=0) nextbutton1=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm1)) nextbutton1.grid(row=2*i,column=1) nextbutton11=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm1)) nextbutton11.grid(row=2*i,column=2) lbl = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl.grid(row=2*i+1,column=0) except : pass i=2 try: mm2=coursefuncobjects[i] info=infofunc(mm2) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton2=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm2)) nextbutton2.grid(row=2*i,column=1) nextbutton22=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm2)) nextbutton22.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=3 try: mm3=coursefuncobjects[i] info=infofunc(mm3) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton3=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm3)) nextbutton3.grid(row=2*i,column=1) nextbutton33=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm3)) nextbutton33.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=4 try: mm4=coursefuncobjects[i] info=infofunc(mm4) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton4=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm4)) nextbutton4.grid(row=2*i,column=1) nextbutton44=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm4)) nextbutton44.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=5 try: mm5=coursefuncobjects[i] info=infofunc(mm5) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton5=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm5)) nextbutton5.grid(row=2*i,column=1) nextbutton55=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm5)) nextbutton55.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=6 try: mm6=coursefuncobjects[i] info=infofunc(mm6) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton6=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm6)) nextbutton6.grid(row=2*i,column=1) nextbutton66=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm6)) nextbutton66.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=7 try: mm7=coursefuncobjects[i] info=infofunc(mm7) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton7=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm7)) nextbutton7.grid(row=2*i,column=1) nextbutton77=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm7)) nextbutton77.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=8 try: mm8=coursefuncobjects[i] info=infofunc(mm8) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton8=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm8)) nextbutton8.grid(row=2*i,column=1) nextbutton88=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm8)) nextbutton88.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=9 try: mm9=coursefuncobjects[i] info=infofunc(mm9) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton9=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm9)) nextbutton9.grid(row=2*i,column=1) nextbutton99=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm9)) nextbutton99.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=10 try: mm10=coursefuncobjects[i] info=infofunc(mm10) lbl0 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl0.grid(row=2*i,column=0) nextbutton10=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm10)) nextbutton10.grid(row=2*i,column=1) nextbutton1010=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm10)) nextbutton1010.grid(row=2*i,column=2) lbl0 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl0.grid(row=2*i+1,column=0) except : pass i=11 try: mm11=coursefuncobjects[i] info=infofunc(mm11) lbl = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl.grid(row=2*i,column=0) nextbutton11=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm11)) nextbutton11.grid(row=2*i,column=1) nextbutton1111=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm11)) nextbutton1111.grid(row=2*i,column=2) lbl = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl.grid(row=2*i+1,column=0) except : pass i=12 try: mm12=coursefuncobjects[i] info=infofunc(mm12) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton12=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm12)) nextbutton12.grid(row=2*i,column=1) nextbutton1212=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm12)) nextbutton1212.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=13 try: mm13=coursefuncobjects[i] info=infofunc(mm13) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton13=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm13)) nextbutton13.grid(row=2*i,column=1) nextbutton1313=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm13)) nextbutton1313.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=14 try: mm14=coursefuncobjects[i] info=infofunc(mm14) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton14=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm14)) nextbutton14.grid(row=2*i,column=1) nextbutton1414=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm14)) nextbutton1414.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=15 try: mm15=coursefuncobjects[i] info=infofunc(mm15) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton15=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm15)) nextbutton15.grid(row=2*i,column=1) nextbutton1515=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm15)) nextbutton1515.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=16 try: mm16=coursefuncobjects[i] info=infofunc(mm16) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton16=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm16)) nextbutton16.grid(row=2*i,column=1) nextbutton1616=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm16)) nextbutton1616.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=17 try: mm17=coursefuncobjects[i] info=infofunc(mm17) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton17=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm17)) nextbutton17.grid(row=2*i,column=1) nextbutton1717=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm17)) nextbutton1717.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=18 try: mm18=coursefuncobjects[i] info=infofunc(mm18) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton18=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm18)) nextbutton18.grid(row=2*i,column=1) nextbutton1818=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm18)) nextbutton1818.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass i=19 try: mm19=coursefuncobjects[i] info=infofunc(mm19) lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20)) lbl1.grid(row=2*i,column=0) nextbutton19=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm19)) nextbutton19.grid(row=2*i,column=1) nextbutton1919=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm19)) nextbutton1919.grid(row=2*i,column=2) lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20)) lbl1.grid(row=2*i+1,column=0) except : pass # self.window.eval('tk::PlaceWindow %s center' % self.window.winfo_pathname(self.window.winfo_id())) self.window.mainloop()
def refresh(self, bundle): # Nustatomas lango pavadinimas self._controller.title(Constants.TITLE_HOME) # Isvalomi pries tai lange buve elementai pasinaudojant elementu is klases WindowUtils (paveldejimas) self.clearWindow() infoLabel = tkx.Label( self, text= "Iveskite didesni uz 0 sveika skaiciu \nis kurio bus sugeneruotas jusu nurodyto dydzio teigiamu skaiciu masyvas" ) infoLabel.pack() self._numberValue = tkx.StringVar(self) self._numberValue.trace("w", self.entryChangeListener) self._threadValue = tkx.StringVar(self) self._threadValue.trace("w", self.entryChangeListener) self._numberEntry = tkx.Entry(self, textvariable=self._numberValue) self._numberEntry.pack() threadInfoLabel = tkx.Label( self, text= "Iveskite sveika skaiciu, kuris nurodys pasirinktu giju kieki (maziausiai 1, daugiausiai 3)" ) threadInfoLabel.pack() self._threadsEntry = tkx.Entry(self, textvariable=self._threadValue) self._threadsEntry.pack() typeInfoLabel = tkx.Label( self, text="Pasirinkite programos veiksmu vykdymo budus") typeInfoLabel.pack() self._choicesFrame = tkx.Frame(self) self._choicesFrame.pack() # CheckBoxes arba kitaip veiksmu vykdymo tipu pasarinkimas self._choices = ("Nuoseklus vykdymas", "Gijomis paremtas vykdymas") self._optionsMenuValue = [] self._optionsMenuButtons = [] for i in range(len(self._choices)): # Nustatoma mygtuko reiksme. 1 - pasirinkta, 0 - nepasirinkta self._optionsMenuValue.append(tkx.IntVar(value=1)) self._optionsMenuValue[i].trace("w", self.entryChangeListener) self._optionsMenuButtons.append( tkx.Checkbutton(self._choicesFrame, text=self._choices[i], variable=self._optionsMenuValue[i], onvalue=1, offvalue=0)) self._optionsMenuButtons[i].pack() self._buttonsFrame = tkx.Frame(self) self._buttonsFrame.pack() self._submitButton = tkx.Button(self._buttonsFrame, text="Vykdyti") self._submitButton.pack( side="left", anchor=tkx.NW, expand=True, ) # Veiksmu vykdyma perkeliu i atskira Thread'a, kad neatsitiktu taip, jog esant dideliam duomenu kiekiui # programa taps "not responding" self._submitButton.config( command=lambda: threading.Thread(target=self.doActions).start(), state='disabled') self._clearButton = tkx.Button(self._buttonsFrame, text="Isvalyti") self._clearButton.pack( side="left", anchor=tkx.NW, expand=True, ) self._clearButton.config(command=partial(self._actionClear)) self._exitButton = tkx.Button(self._buttonsFrame, text="Uzdaryti") self._exitButton.pack( side="left", anchor=tkx.NW, expand=True, ) self._exitButton.config(command=lambda: self._controller.exit()) self._errorLabel = tkx.Label(self, text="") self._errorLabel.pack() self._progressLabel = tkx.Label(self, text="") self._progressLabel.pack()
def __init__(self, item, on_item_update, on_item_remove): # make sure only one dialog at a time try: ActionDialog._current_dialog.destroy() except Exception: pass # init self.item = item self.on_item_update = on_item_update self.on_item_remove = on_item_remove # dialog self.dialog = tk.Tk() self.dialog.title("Edit") self.dialog.resizable(width=False, height=False) # labels label_frame = tk.Frame(self.dialog, highlightbackground="gray", highlightcolor="gray", highlightthickness=2) pad = tk.Frame(label_frame, height=8) pad.pack(side=tk.TOP, fill=tk.BOTH, expand=True) # text hash tk.Label(label_frame, text="hash:", anchor=tk.W, font="helvetica 12 bold") \ .pack(side=tk.TOP, fill=tk.BOTH, expand=True) text_hash = tk.Text(label_frame, width=10, height=1, wrap=tk.WORD) text_hash.insert(tk.END, item.entry[:item.entry.find(".")]) text_hash.bind( "<Key>", lambda event: "break" if event.keysym == "Return" else "") text_hash.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8) # text key tk.Label(label_frame, text="key:", anchor=tk.W, font="helvetica 12 bold") \ .pack(side=tk.TOP, fill=tk.BOTH, expand=True) text_key = tk.Text(label_frame, width=80, height=1, wrap=tk.WORD) text_key.insert(tk.END, item.key) text_key.bind( "<Key>", lambda event: "break" if event.keysym == "Return" else "") text_key.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8) # text value tk.Label(label_frame, text="value: ", anchor=tk.W, font="helvetica 12 bold") \ .pack(side=tk.TOP, fill=tk.BOTH, expand=True) text_value = tk.Text(label_frame, width=80, height=5, wrap=tk.WORD) text_value.insert(tk.END, item.value) text_value.bind( "<Key>", lambda event: "break" if event.keysym == "Return" else "") text_value.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8) pad = tk.Frame(label_frame, height=8) pad.pack(side=tk.TOP, fill=tk.BOTH, expand=True) label_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True) # action buttons btn_frame = tk.Frame(self.dialog) btn = tk.Button(btn_frame, text="Cancel", command=lambda: self.dialog.destroy()) btn.pack(side=tk.LEFT, fill=tk.X, expand=True) btn = tk.Button(btn_frame, text="Remove", command=lambda: self.action_remove(self.item)) btn.pack(side=tk.LEFT, fill=tk.X, expand=True) btn = tk.Button(btn_frame, text="Save", command=lambda: self.action_save( text_hash.get("1.0", tk.END)[:-1], text_key.get("1.0", tk.END)[:-1], text_value.get("1.0", tk.END)[:-1])) btn.pack(side=tk.LEFT, fill=tk.X, expand=True) btn_frame.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True) ActionDialog._current_dialog = self.dialog
def __init__(self, adapter): # make sure only one dialog at a time try: SearchDialog._current_dialog.destroy() except Exception: pass # init self.adapter = adapter self.last_query_params = ["", ""] self.last_query = {} self.last_query_index = -1 # dialog self.dialog = tk.Tk() self.dialog.title("Search") self.dialog.resizable(width=False, height=False) self.dialog.config(highlightbackground="gray", highlightcolor="gray", highlightthickness=2) self.dialog.protocol("WM_DELETE_WINDOW", self.on_close) # labels label_frame = tk.Frame(self.dialog) # text key tk.Label(label_frame, text="key:", anchor=tk.W, font="helvetica 12 bold") \ .pack(side=tk.TOP, fill=tk.BOTH, expand=True) text_key = tk.Text(label_frame, width=40, height=1, wrap=tk.WORD) text_key.bind( "<Key>", lambda event: "break" if event.keysym == "Return" else "") text_key.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8) # text value tk.Label(label_frame, text="value: ", anchor=tk.W, font="helvetica 12 bold") \ .pack(side=tk.TOP, fill=tk.BOTH, expand=True) text_value = tk.Text(label_frame, width=40, height=1, wrap=tk.WORD) text_value.bind( "<Key>", lambda event: "break" if event.keysym == "Return" else "") text_value.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8) pad = tk.Frame(label_frame, height=14) pad.pack(side=tk.TOP, fill=tk.BOTH, expand=True) label_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # action buttons btn_frame = tk.Frame(self.dialog) btn_row1_frame = tk.Frame(btn_frame) btn = tk.Button(btn_row1_frame, text="<<<", width=10, command=lambda: self.action_search( text_key.get("1.0", tk.END)[:-1], text_value.get("1.0", tk.END)[:-1], -1)) btn.pack(side=tk.LEFT, fill=tk.X, expand=False, padx=2, pady=2) btn = tk.Button(btn_row1_frame, text=">>>", width=10, command=lambda: self.action_search( text_key.get("1.0", tk.END)[:-1], text_value.get("1.0", tk.END)[:-1], +1)) btn.pack(side=tk.LEFT, fill=tk.X, expand=False, padx=2, pady=2) btn_row1_frame.pack(side=tk.TOP, fill=tk.X, expand=False) btn = tk.Button(btn_frame, text="Count", width=20, command=lambda: self.action_count( text_key.get("1.0", tk.END)[:-1], text_value.get("1.0", tk.END)[:-1])) btn.pack(side=tk.TOP, fill=tk.X, expand=False, padx=2, pady=2) self.found_label = tk.Label(btn_frame) self.found_label.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=2, pady=2) btn_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=2, pady=2) SearchDialog._current_dialog = self.dialog
top = tix.Tk() nb = tix.NoteBook(top, width=300, height=200) nb.pack(expand=True, fill='both') nb.add('page1', label="Text") f1 = tix.Frame(nb.subwidget('page1')) st = tix.ScrolledText(f1) st.subwidget('text').insert("1.0", "Here is where the text goes...") st.pack(expand=True) nb.add('page2', label="Message Boxes") f2 = tix.Frame(nb.subwidget('page2')) tix.Button( f2, text="error", bg="lightblue", command=lambda t="error", m="This is bad!": mb.showerror(t, m)).pack( fill='x', expand=True) tix.Button(f2, text="info", bg='pink', command=lambda t="info", m="Information": mb.showinfo(t, m)).pack( fill='x', expand=True) tix.Button( f2, text="warning", bg='yellow', command=lambda t="warning", m="Don't do it!": mb.showwarning(t, m)).pack( fill='x', expand=True) tix.Button( f2,
frame = tix.Frame(root) frame.pack() scrolledwin = tix.ScrolledWindow(frame) scrolledwin.pack(side="right", fill="y") scr = scrolledwin.window col = 0 line_mark = 0 row_ = 0 bigfont = ("Helvetica", "50", 'bold') for i in range(num): if col == 9: col = 0 row_ += 1 txt = x[i] globals()['btn{}'.format(i)] = tix.Button(scr, text="%s" % txt, bg="ivory", fg="brown", activebackground='yellow', activeforeground="blue") globals()['btn{}'.format(i)].config(font=bigfont) globals()['btn{}'.format(i)].grid(row=row_, column=col) if (line_mark % 2 == 1): globals()["line_lbl{}".format(i)] = tix.Label(scr, text=" ") globals()["line_lbl{}".format(i)].config(font=bigfont) col += 1 globals()["line_lbl{}".format(i)].grid(row=row_, column=col) col += 1 line_mark += 1 root.mainloop()
def _createWidgets_(self): self.fsFrame = tk.Frame(self.mFrame) self.tk_setPalette(background = '#F2D7D5') ##F2D7D5 self.btQuit = tk.Button(self.mFrame) self.btQuit.config(text = 'Завершить', command = self.root.destroy) self.btQuit.pack(side =tk.BOTTOM) ##self.loadFrame = tk.LabelFrame(self.fsFrame) ##self.listBMsg = tk.Listbox(self.loadFrame, relief='flat') self.topElemsFrame = tk.Frame(self.fsFrame) self.btnLstFrame = tk.LabelFrame(self.topElemsFrame) self.smplUnqOptFrame = tk.Frame(self.topElemsFrame) self.smplUnqOptLabelF = tk.LabelFrame(self.smplUnqOptFrame) self._lbSmplUnqOptLabelF_ = self.getSubWgts(self.smplUnqOptLabelF, tk._dummyLabel) self._lbSmplUnqOptLabelF_.config(text = "Уник. сэмпл.") self._frSmplUnqOptLabelF_ = self.getSubWgts(self.smplUnqOptLabelF, tk._dummyFrame) self.cbIfCutUrl = tk.Checkbutton(self._frSmplUnqOptLabelF_, text = "Сократ. Url в назв. сэмпл.", variable = self._varIfCutUrlInSmpl_) self.smplThruNum = tk.LabelFrame(self._frSmplUnqOptLabelF_) self._lbSmplThruNum_ = self.getSubWgts(self.smplThruNum, tk._dummyLabel) self._lbSmplThruNum_.config(text = "Скозн. нумер.") self._frSmplThruNum_ = self.getSubWgts(self.smplThruNum, tk._dummyFrame) self.smplThruNumCntrl = tk.Radiobutton(self._frSmplThruNum_, text = "Контроллер", variable = self._varRbSmplThruNum_, value = "Controller") self.smplThruNumThGr = tk.Radiobutton(self._frSmplThruNum_, text = "ТредГрупп", variable = self._varRbSmplThruNum_, value = "ThreadGroup") self.smplThruNumTstPl = tk.Radiobutton(self._frSmplThruNum_, text = "ТестПлан", variable = self._varRbSmplThruNum_, value = "TestPlan") self.smplThruNumCntrl.pack(side = tk.TOP, anchor = tk.W) self.smplThruNumThGr.pack(side = tk.TOP, anchor = tk.W) self.smplThruNumTstPl.pack(side = tk.TOP, anchor = tk.W) self.cbIfNotRstrUnqInSmpl = tk.Checkbutton(self._frSmplUnqOptLabelF_, text = "Не восст. ориг. назв. сэмпл.", variable = self._varCbIfNotRstrUnqInSmpl_) self.cbIfCutUrl.pack(side = tk.TOP, anchor = tk.W) self.smplThruNum.pack(side = tk.TOP, anchor = tk.W) self.cbIfNotRstrUnqInSmpl.pack(side = tk.TOP, anchor = tk.W) self.smplUnqOptLabelF.pack(anchor = tk.E) self.smplUnqOptFrame.config(width = self.smplThruNum.winfo_reqwidth(), padx = 100) self.paramVolatilFrame = tk.Frame(self.topElemsFrame) self.update_idletasks() leftCornerWidth = self._frSmplUnqOptLabelF_.winfo_reqwidth() + int(self.smplUnqOptLabelF.cget("borderwidth")) * 2 leftCornerHeight = self.smplUnqOptLabelF.winfo_reqheight() + 2 self.paramVolatilFrame.config(width = leftCornerWidth + 202, height = leftCornerHeight) self.paramVolatilFrame.pack_propagate(0) self.paramVolatilLabel = tk.LabelFrame(self.paramVolatilFrame) self._lbParamVolatilLabel_ = self.getSubWgts(self.paramVolatilLabel, tk._dummyLabel) self._lbParamVolatilLabel_.config(text = "Статистика") self._frParamVolatilLabel_ = self.getSubWgts(self.paramVolatilLabel, tk._dummyFrame) self.frBtGetVolatilPrm = tk.Frame(self._frParamVolatilLabel_) self.btBtGetVolatilPrm = tk.Button(self.frBtGetVolatilPrm, text="Получ. стат. по парам.") self.rBtGetVolatilPrm = tk.Radiobutton(self.frBtGetVolatilPrm, text = 'Волатил. ', variable = self._volatilPrm_, value = True) self.rBtGetNonVolatilPrm = tk.Radiobutton(self.frBtGetVolatilPrm, text = 'Не волатил.', variable = self._volatilPrm_, value = False) self.btBtGetVolatilPrm.config(relief='groove') self.btBtGetVolatilPrm.config(command = self.prcdfGetVolatilPrms) self.frBtGetVolatilPrm.pack(side = tk.TOP, anchor = tk.W) self.btBtGetVolatilPrm.pack(side = tk.LEFT) self.rBtGetVolatilPrm.pack(side = tk.TOP, anchor = tk.W) self.rBtGetNonVolatilPrm.pack(side = tk.TOP, anchor = tk.W) self.paramVolatilLabel.pack(anchor = tk.W) ##self.msgsToAscFrame = tk.Listbox(self.loadFrame, relief='flat', selectmode='multiple') ##self.vScroll = tk.Scrollbar(self.loadFrame, orient=tk.VERTICAL) ##self.msgsToAscFrame.config( yscrollcommand=self.vScroll.set) self.consFrame = tk.LabelFrame(self.mFrame) #self.varsFrame = tk.LabelFrame(self.fsFrame) ##self.btnCollctnFrame = tk.LabelFrame(self.fsFrame) self.mCllctnFrame = tk.Frame(self.mFrame) self._lbBtnLstFrame_ = self.getSubWgts(self.btnLstFrame, tk._dummyLabel) self._lbBtnLstFrame_.config(text = 'Раб. с исх. Xml-дер.') self._frBtnLstFrame_ = self.getSubWgts(self.btnLstFrame, tk._dummyFrame) self.varsFrame = tk.Frame(self._frBtnLstFrame_, borderwidth=2, bg = 'blue') self.vrSPathFrame = tk.Label(self.varsFrame) self.vrFnameFrame = tk.Label(self.varsFrame) self.vrUnqFNmFrame = tk.Label(self.varsFrame) #self.vrPileCllctnFrame = tk.Label(self.varsFrame) self.vrRestreFNmFrame = tk.Label(self.varsFrame) self._btnLstFrame_ = tk.Frame(self._frBtnLstFrame_, borderwidth = 2) self.btCatchJMXFiles = tk.Button(self._btnLstFrame_, text="Собрать все \n.jmx файлы", fg="green") #self.btCatchJMXFiles.config(command = self.testFrame) self.btCatchJMXFiles.config(command = self.prcdCatchJMXFiles) self.btCatchJMXFiles.config(relief='raised') self.btCatchJMXFiles.pack(fill = 'x') #self.jmscdObj.setFName = 'toParce.jmx' self.btGetJMXMkTree = tk.Button(self._btnLstFrame_, text="Получить дерево из \n.jmx файла", fg="green") self.btGetJMXMkTree.config(command = self.prcdGetJMXMkTree) self.btGetJMXMkTree.config(relief='raised') self.btGetJMXMkTree.pack(fill = 'x') self.btTreeUnqNms = tk.Button(self._btnLstFrame_, text="Сген. колл. \nс уник. именами") self.btTreeUnqNms.config(command = self.prcdTreeUnqNms) self.btTreeUnqNms.config(relief='raised', state = tk.DISABLED) self.btTreeUnqNms.pack(fill = 'x') self.btRstrOrigNms = tk.Button(self._btnLstFrame_, text="Восст. ориг. имена\nдля получен. колл.") self.btRstrOrigNms.config(command = self.prcdRstrOrigNms) self.btRstrOrigNms.config(relief='raised') self.btRstrOrigNms.pack(fill = 'x') self.vrSPathLabel = tk.Label(self.vrSPathFrame) self.vrSPathValue = tk.Entry(self.vrSPathFrame, bg='white') self.vrSPathLabel.config(text='Каталог с (*.jmx) файл.:', justify = tk.LEFT) self.vrSPathValue.config(justify = tk.LEFT) self.vrSPathValue.insert(0, self.jmscdObj.setPATH) self.vrSPathLabel.pack(side = tk.LEFT) self.vrSPathValue.pack(side = tk.LEFT) self.vrSPathFrame.pack(side = tk.TOP) self.vrFnameLabel = tk.Label(self.vrFnameFrame) self.vrFnameValue = tk.Entry(self.vrFnameFrame, bg='white') self.vrFnameLabel.config(text='Файл(*.jmx) для парам.:', justify = tk.LEFT) self.vrFnameValue.config(justify = tk.LEFT) self.vrFnameValue.insert(0, self.jmscdObj.setFName) self.vrFnameLabel.pack(side = tk.LEFT) self.vrFnameValue.pack(side = tk.LEFT) self.vrFnameFrame.pack(side=tk.TOP) self.vrUnqFNmLabel = tk.Label(self.vrUnqFNmFrame) self.vrUnqFNmValue = tk.Entry(self.vrUnqFNmFrame, bg = 'white') self.vrUnqFNmLabel.config(text='Файл(*.jmx), униф. элм.:', justify = tk.LEFT) self.vrUnqFNmValue.config(justify = tk.LEFT) self.vrUnqFNmValue.insert(0, self.jmscdObj.outFileUniqueNames) self.vrUnqFNmLabel.pack(side = tk.LEFT) self.vrUnqFNmValue.pack(side = tk.LEFT) self.vrUnqFNmFrame.pack(side=tk.TOP) self.vrRestreFNmLabel = tk.Label(self.vrRestreFNmFrame) self.vrRestreFNmValue = tk.Entry(self.vrRestreFNmFrame, bg = 'white') self.vrRestreFNmLabel.config(text='Файл(*.jmx), восcт. элм.:', justify = tk.LEFT) self.vrRestreFNmValue.config(justify = tk.LEFT) self.vrRestreFNmValue.insert(0, self.jmscdObj.outFileRestrdOrig) self.vrRestreFNmLabel.pack(side = tk.LEFT) self.vrRestreFNmValue.pack(side = tk.LEFT) self.vrRestreFNmFrame.pack(side=tk.TOP) self._btnLstFrame_.pack(side = tk.TOP) self.varsFrame.pack(side=tk.TOP) ## self.frPileOptns = tk.LabelFrame(self.mCllctnFrame) self._lbFrPileOptns_ = self.getSubWgts(self.frPileOptns, tk._dummyLabel) self._lbFrPileOptns_.config(text = 'Получ. осн. колл.') self._frPileOptns_ = self.getSubWgts(self.frPileOptns, tk._dummyFrame) self.scrollPileMCllt = tk.Scrollbar(self._frPileOptns_, orient = tk.VERTICAL) self.scrollPileMCllt.pack(side = tk.RIGHT, fill = 'y') self.lsbxPileMCllct = tk.Listbox(self._frPileOptns_, height = 4, width = 34, yscrollcommand = self.scrollPileMCllt.set) for itm in range(4): self.lsbxPileMCllct.insert(tk.END, '--') self.btPileMCllct = tk.Button(self._frPileOptns_, text="Аккумул. раб. коллекц.") self.btPileMCllct.config(command = self.prcdPileMCllct, relief='groove') self.lsbxPileMCllct.pack(side = tk.TOP) self.btPileMCllct.pack(side = tk.TOP) self.frPileOptns.pack(side = tk.LEFT) self.scrollPileMCllt.config(command = self.lsbxPileMCllct.yview) self.frOutRslts = tk.LabelFrame(self.mCllctnFrame) self._lbFrOutRslts_ = self.getSubWgts(self.frOutRslts, tk._dummyLabel) self._lbFrOutRslts_.config(text = 'Текущ. знач.') self._frOutRslts_ = self.getSubWgts(self.frOutRslts, tk._dummyFrame) self.entStrVar = tk.StringVar(self._frOutRslts_) #self.entStrVar.set(self.jmscdObj.entityNames[2]) # default value self.lstWrkEnts = tk.OptionMenu(self._frOutRslts_, variable = self.entStrVar) for ent in self.jmscdObj.entityNames: self.lstWrkEnts.add_command(ent) self.entStrVar.set(self.jmscdObj.entityNames[2]) #self.lstWrkEnts = tk.Listbox(self.mCllctnFrame) ##Опция выбора сущности на данный момент выключена ####self.lstWrkEnts.pack(side = tk.TOP) self.tstOutText = tk.Text(self._frOutRslts_, state = tk.DISABLED, bg='#FFEFD5')#, width=64) self.tstOutText.pack(side = tk.TOP) self.txtWdgtDelete(False) self.txtWdgtInsert(self._initText_) # self.frWrInfExtCntrlElm = tk.Frame(self._frOutRslts_) self.btWriteChngsToF = tk.Button(self.frWrInfExtCntrlElm, text='Запис. изм.\nв файл') self.btWriteChngsToF.config(command = self.prcdWrtXmlTree) self.btUpdateXMLTree = tk.Button(self.frWrInfExtCntrlElm, text='Обнов. \nxml-дерево') self.btUpdateXMLTree.config(command = self.prcdUpdtXMLTree, state = tk.DISABLED) self.btUpdateXMLTree.pack(side = tk.LEFT) self.btWriteChngsToF.pack(side = tk.LEFT) self.frWrInfExtCntrlElm.pack(side = tk.BOTTOM) # self.frOutRslts.pack(side = tk.LEFT) ### self.frGetCollctnData = tk.Frame(self.mCllctnFrame) # self.frGetListKeys = tk.LabelFrame(self.frGetCollctnData) self._frGetListKeys_ = self.getSubWgts(self.frGetListKeys, tk._dummyFrame) self.frBtGetLstKeys = tk.Frame(self._frGetListKeys_) self.btGetListKeys = tk.Button(self.frBtGetLstKeys, text="Список получ. ключей:") self.varRBtLstKeys = tk.IntVar() self.varRBtLstKeys.set(1) self.rBtLstKeysPrms = tk.Radiobutton(self.frBtGetLstKeys, text = 'Парам. ', variable = self.varRBtLstKeys, value = 1) self.rBtLstKeysLnks = tk.Radiobutton(self.frBtGetLstKeys, text = 'Ссылки', variable = self.varRBtLstKeys, value = 2) self.btGetListKeys.config(relief='groove') self.btGetListKeys.config(command = self.prcdfGetListKeys) self._lbGetListKeys_ = self.getSubWgts(self.frGetListKeys, tk._dummyLabel) self._lbGetListKeys_.config(text = 'Раб. с осн. коллекц.') self.frBtGetLstKeys.pack(side = tk.TOP, anchor = tk.W) self.btGetListKeys.pack(side = tk.LEFT) self.rBtLstKeysPrms.pack(side = tk.TOP, anchor = tk.E) self.rBtLstKeysLnks.pack(side = tk.TOP, anchor = tk.E) self.frGetListKeys.pack(side = tk.TOP, fill = 'x') # self.frGetDictData = tk.Frame(self._frGetListKeys_) self.frGetDictData.config(borderwidth = 2, bg = 'green') ## self.frGetDataDictItem = tk.Frame(self.frGetDictData) self.vlGetDataDictItem = tk.Entry(self.frGetDataDictItem, bg='white') self.vlGetDataDictItem.insert(0, '<знач.ключа>') self.btGetDataDictItem = tk.Button(self.frGetDataDictItem, text="Все знач.\nпо задан. ключу:") self.btGetDataDictItem.config(command = self.prcdGetDataDictItem) self.btGetDataDictItem.config(relief='groove') self.btGetDataDictItem.pack(side= tk.LEFT) self.vlGetDataDictItem.pack(side = tk.RIGHT, fill = 'y') self.frGetDataDictItem.pack(side = tk.TOP) ## self.frGetScrLstByNm = tk.Frame(self.frGetDictData) self.btGetScrLstByNm = tk.Button(self.frGetScrLstByNm, text="Все контрлр.\nпо задан. ключу:") self.btGetScrLstByNm.config(command = self.prcdGetScrLstByNm) self.btGetScrLstByNm.config(relief='groove') self.vlGetScrLstByNm = tk.Entry(self.frGetScrLstByNm, bg='white') self.vlGetScrLstByNm.insert(0, '<знач.ключа>') self.chkBtVar = tk.BooleanVar(self.frGetScrLstByNm) self.chkBtVar.set(False) self.chkGetScrLstByNm = tk.Checkbutton(self.frGetScrLstByNm, text='Вывод сэмплр.', variable=self.chkBtVar) self.btGetScrLstByNm.pack(side= tk.LEFT) self.vlGetScrLstByNm.pack(side = tk.TOP) self.chkGetScrLstByNm.pack(side = tk.LEFT) self.frGetScrLstByNm.pack(side = tk.TOP) ## self.frGetScrFncByKeyVal = tk.Frame(self.frGetDictData) self.btGetScrFncByKeyVal = tk.Button(self.frGetScrFncByKeyVal, text="Все контрлр.\nпо паре кл.-зн.:") self.btGetScrFncByKeyVal.config(command = self.prcdGetScrFncByKeyVal) self.btGetScrFncByKeyVal.config(relief='groove') self.vlGetScrFncByKeyVal = tk.Entry(self.frGetScrFncByKeyVal, bg='white') self.vlGetScrFncByKeyVal.insert(0, '<знач.ключа>') self.vrGetScrFncByKeyVal = tk.Entry(self.frGetScrFncByKeyVal, bg='white') self.vrGetScrFncByKeyVal.insert(0, '<знач.парам.>') self.chkKeyVlVar = tk.BooleanVar(self.frGetScrFncByKeyVal) self.chkKeyVlVar.set(False) self.chkGetScrFncByKeyVal = tk.Checkbutton(self.frGetScrFncByKeyVal, text='Вывод сэмплр.', variable=self.chkKeyVlVar) self.btGetScrFncByKeyVal.pack(side= tk.LEFT, fill='y') self.vlGetScrFncByKeyVal.pack(side = tk.TOP) self.vrGetScrFncByKeyVal.pack(side = tk.TOP) self.chkGetScrFncByKeyVal.pack(side = tk.LEFT) self.frGetScrFncByKeyVal.pack(side = tk.TOP, fill='x') ## self.frGetValByKSF = tk.Frame(self.frGetDictData) self.frGetValByKSF.config(borderwidth = 1, bg = 'red') self.blnMsg = tk.Balloon(self.frGetValByKSF, initwait = 350, bg='yellow') self.blnMsgText = 'Внимание!\nНазвания контроллеров и сэмплеров (возможно) были изменены,\nследует сверять в jmeter по файлу "(*.jmx) униф. эл"' self.blnMsg.bind_widget(self.frGetValByKSF, msg = self.blnMsgText) self.btGetValByKSF = tk.Button(self.frGetValByKSF, text="Значен. для\n кл.-кнтр.-смпл.:") self.btGetValByKSF.config(command = self.prcdGetValByKSF) self.btGetValByKSF.config(relief='groove') self.vlGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white') self.vlGetValByKSF.insert(0, '<знач.ключа>') self.ctGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white') self.ctGetValByKSF.insert(0, '<назв. контрлр.>') self.smGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white') self.smGetValByKSF.insert(0, '<назв. сэмплр.>') self.btGetValByKSF.pack(side= tk.LEFT, fill='y') self.vlGetValByKSF.pack(side = tk.TOP) self.ctGetValByKSF.pack(side = tk.TOP) self.smGetValByKSF.pack(side = tk.TOP) self.frGetValByKSF.pack(side = tk.TOP, fill='x') ## self.frSetValsToSlctn = tk.Frame(self._frGetListKeys_, pady = 2) self.btSetValsToSlctn = tk.Button(self.frSetValsToSlctn, text = 'Установ.\n для дан.\n элемен.\n словар.') self.btSetValsToSlctn.config(command = self.prcdSetValsToSlctn, state = tk.DISABLED, relief = "groove") self.lblSetValsToSlctn = tk.Label(self.frSetValsToSlctn, text = ' <==> ') self.entSetValsToSlctn = tk.Entry(self.frSetValsToSlctn, bg='white') self.entSetValsToSlctn.insert(0, '*новое знач.*') self.btSetValsToSlctn.pack(side = tk.LEFT, anchor=tk.W) self.lblSetValsToSlctn.pack(side = tk.LEFT) self.entSetValsToSlctn.pack(side = tk.RIGHT, anchor=tk.E) ### self.frGetDictData.pack(side = tk.TOP) self.frSetValsToSlctn.pack(side = tk.TOP, anchor = tk.W) # self.frGetCollctnData.pack(side = tk.LEFT) #for lstEntr in self.jmscdObj.entityNames: # self.lstWrkEnts.insert(tk.END, lstEntr) self.fsFrame.pack(side="top", fill='x') self.mCllctnFrame.pack(side=tk.LEFT, fill='x') ##self.loadFrame.pack(side="top", fill='x') self.smplUnqOptFrame.pack(side = tk.RIGHT, anchor = tk.E) self.btnLstFrame.pack(side = tk.RIGHT) self.paramVolatilFrame.pack(side = tk.RIGHT) self.topElemsFrame.pack(side="top", fill='y')
nb = tix.NoteBook(top, width=300, height=300) nb.pack(expand=True, fill="both") nb.add("Page1", label="Text") frame1 = tix.Frame(nb.subwidget("page1")) st = tix.ScrolledText(frame1) st.subwidget("text").insert("1.0", "Type text here...") st.pack(expand=True) frame1.pack() nb.add("Page2", label="Message boxes") frame2 = tix.Frame(nb.subwidget("page2")) tix.Button(frame2, text="Error", bg="red", command=lambda t="error", m="This is bad": mb.showerror(t, m)).pack( fill="x", expand=True) tix.Button( frame2, text="Info", bg="lightblue", command=lambda t="info", m="Some Information": mb.showinfo(t, m)).pack( fill="x", expand=True) tix.Button(frame2, text="Warning", bg="yellow", command=lambda t="warning", m="Shtsksm": mb.showwarning(t, m)).pack( fill="x", expand=True)
def add_command(self, *, label=None, balloonmsg=None, statusmsg=None, **kwargs): widget = tk.Button(self, text=label, **kwargs) widget.pack(side=tk.LEFT, fill=tk.Y) if self.tip: self.tip.bind_widget(widget, balloonmsg=balloonmsg, statusmsg=statusmsg)
from tkinter import tix as tkinter from tkinter import ttk root = tkinter.Tk() notebook = ttk.Notebook(root) notebook.pack(expand=True, fill="both", side=tkinter.LEFT) for info in ["Title 1", "Title 2", "Title 3"]: tab = tkinter.Frame() notebook.add(tab, text=info) tkinter.Text(tab).pack() #buttons buttonFrame = tkinter.Frame() buttonFrame.pack(side=tkinter.RIGHT, fill="y") for text in ["thing 1", "thing 2", "thing 3"]: b = tkinter.Button(buttonFrame, text=text) b.pack()
linenum = str(i).split(".")[0] self.lineNumbers.create_text(2, y, anchor="nw", text=linenum) i = self.text.index("%s+1line" % i) def _highlightLine(self, event=None): '''highlights the cursor's line in text widget''' self.text.tag_remove("Current Line", "1.0", tkinter.END) if self.text.tag_ranges("sel") == (): self.text.tag_add("Current Line", "insert linestart", "insert lineend+1c") else: self.text.tag_add("Current Line", "insert linestart", "insert lineend+1c") ranges = self.text.tag_ranges("sel") self.text.tag_remove("Current Line", ranges[0], ranges[1]) if __name__ == "__main__": '''test''' root = tkinter.Tk() root.title("CodePack Example") CodePack = CodePack(root, language="Python") CodePack.pack() def output(): print(CodePack.text.get("1.0", "end -1c")) button = tkinter.Button(root, text="print", command=output) button.pack() root.mainloop()
Radio2.place(x=780, y=225) #labelValue = Label(fenetre, textvariable=Aspect) #labelValue.pack() # Check Box # ############# Check_Box = Checkbutton(fenetre, variable = EtatCheck_Box, text='Encodage Vidéo automatique ',font='Monospace 12 bold',bg='slate gray',activebackground='slate gray',activeforeground='lime green',highlightbackground='lime green',highlightthickness=2) Check_Box.pack(anchor='w', padx=10) Check_Box.place(x=600, y=328) Check_Box.select() # Boutons # ########### Bouton_RomPath = tix.Button(fenetre,text="Choisir une ROM",font='Monospace 16 bold',borderwidth=3,bg='light gray',activeforeground='lime green',command=RomsFile) Bouton_RomPath.pack() Bouton_RomPath.place(x=90, y=120) #Bouton_RomPath.configure(state='disabled') Bouton_RomPath.configure(state='normal') #bulle_RomPath = tix.Balloon(fenetre) #bulle_RomPath.bind_widget(Bouton_RomPath, msg='click me 1!') Bouton_InpPath = tix.Button(fenetre,text="Choisir un inp",font='Monospace 16 bold',borderwidth=3,bg='light gray',activeforeground='lime green',command=InpFile) Bouton_InpPath.pack() Bouton_InpPath.place(x=90, y=170) Bouton_InpPath.configure(state='disabled') #Bouton_InpPath.configure(state='normal') #bulle_InpPath = tix.Balloon(fenetre) #bulle_InpPath.bind_widget(Bouton_InpPath, msg='click me 2!')
'title': 'N', 'summary': '''\ summary of N very very very long long long long summary 0 1 2 3 4 5 6 : a''', 'content': 32 }] top = tix.Toplevel() d = matdb_frame.MatDBFrame(top, entries) d.grid(row=0, column=0, sticky=tix.N + tix.E + tix.S + tix.W) top.rowconfigure(0, weight=1) top.columnconfigure(0, weight=1) def c(): print(d.get_current_selection()) tix.Button(app, text='get value', command=c).pack() top.wait_window() app.mainloop()
def createWidgets(self): ## Tix tix for python 3 if (pythVers < 3): self.nb = Tix.NoteBook(self) else: self.nb = tix.NoteBook(self) self.nb.add('appr', label='APPR', raisecmd=lambda self=self: self.update_page()) self.nb.add('cruz', label='CRSE', raisecmd=lambda self=self: self.update_page()) self.nb.add('wing', label='WING', raisecmd=lambda self=self: self.update_page()) self.nb.add('hstb', label='HSTB', raisecmd=lambda self=self: self.update_page()) self.nb.add('vstb', label='VSTB', raisecmd=lambda self=self: self.update_page()) self.nb.add('ball', label='BALL', raisecmd=lambda self=self: self.update_page()) self.nb.add('prop', label='PROP', raisecmd=lambda self=self: self.update_page()) # page = PropertyPage(self.nb.appr) self.pages['appr'] = page page.addField(Va, 'ApprSpd:') page.addField(Aa, 'ApprAoA:') page.addField(Ka, 'ApprFuel:') page.addField(Ra, 'ApprThrt:') page.addField(Fa, 'ApprFlap:') page.addField(Vy, 'SolveAtSpd:') page.addField(Hy, 'SolveAtAlt:') # page = PropertyPage(self.nb.cruz) self.pages['cruz'] = page page.addField(Vc, 'CruiseSpd:') page.addField(Hc, 'CruiseAlt:') page.addField(Kc, 'CruiseFuel:') page.addField(Rc, 'CruiseThrt:') # page = PropertyPage(self.nb.wing) self.pages['wing'] = page page.addField(Cw, 'WingCambr:') page.addField(Iw, 'WingIDrag:') page.addField(Aw, 'WingStAoA:') page.addField(Ww, 'WingStWid:') page.addField(Pw, 'WingStlPk:') page.addField(Lf, 'WFlapLift:') page.addField(Df, 'WFlapDrag:') page.addField(Lr, 'AilrnLift:') page.addField(Dr, 'AilrnDrag:') # page = PropertyPage(self.nb.hstb) self.pages['hstb'] = page page.addField(Ch, 'HstbCambr:') page.addField(Ih, 'HstbIDrag:') page.addField(Ah, 'HstbStAoA:') page.addField(Wh, 'HstbStWid:') page.addField(Ph, 'HstbStlPk:') page.addField(Lh, 'HFlapLift:') page.addField(Dh, 'HFlapDrag:') # page = PropertyPage(self.nb.vstb) self.pages['vstb'] = page page.addField(Cv, 'VstbCambr:') page.addField(Iv, 'VstbIDrag:') page.addField(Av, 'VstbStAoA:') page.addField(Wv, 'VstbStWid:') page.addField(Pv, 'VstbStlPk:') page.addField(Lv, 'VFlapLift:') page.addField(Dv, 'VFlapDrag:') # page = PropertyPage(self.nb.ball) self.pages['ball'] = page page.addField(Mb, 'BallMass :') page.addField(Xb, 'BallXloc :') page.addField(Yb, 'BallYloc :') page.addField(Zb, 'BallZloc :') # page = PropertyPage(self.nb.prop) self.pages['prop'] = page page.addField(Mp, 'PropMass :') page.addField(Rp, 'PropRadi :') page.addField(Ap, 'PropMomt :') page.addField(Np, 'PropMinR :') page.addField(Xp, 'PropMaxR :') page.addField(Ip, 'PropFine :') page.addField(Op, 'PropCoar :') page.addField(Vp, 'PropCSpd :') page.addField(Cp, 'PropCRpm :') page.addField(Tp, 'PropTRpm :') # ## Tix tix for python 3 if (pythVers < 3): self.nb.pack(expand=1, fill=Tix.BOTH, padx=5, pady=5, side=Tix.TOP) else: self.nb.pack(expand=1, fill=tix.BOTH, padx=5, pady=5, side=tix.TOP) ## Tix tix for python 3 if (pythVers < 3): self.QUIT = Tix.Button(self) else: self.QUIT = tix.Button(self) self.QUIT['text'] = 'Quit' self.QUIT['command'] = self.quitCmd self.QUIT.pack({"side": "right"}) ## Tix tix for python 3 if (pythVers < 3): self.PLOT = Tix.Button(self) else: self.PLOT = tix.Button(self) self.PLOT['text'] = 'Plot' self.PLOT['command'] = self.plotCmd self.PLOT.pack({"side": "left"})