def show_univers(self): i = 0 for cities in self.univers: label = tk.Label(self.top_frame, text=cities[0]['city']) label.grid(row=i, column=0) label.label = False label.collapsed = True label.bind('<1>', self.switch_univers) i += 1 for univer in cities: var = tk.IntVar() checkbutton = tk.Checkbutton(self.top_frame, text=univer['name'], variable=var) checkbutton.var = var checkbutton.grid(row=i, column=0) checkbutton.label = label checkbutton.bind('<1>', self.gen_univers_chosen) i += 1 self.widget_univers = self.top_frame.grid_slaves() for widget in self.widget_univers: if ~str(widget.winfo_class).find('checkbutton'): widget.grid_remove()
def __init__(self, master, srimdata=None, title=None): """ @param master master widget @param srimdata path to SRIM compound db, usually encoded in cp437 @param title title of the widget """ tix.Frame.__init__(self, master, title) # filepath entry label = tix.Label(self, text='SRIM compound.dat:') label.grid(row=0, column=0, sticky='W') self.filepath = SRIMMatDBFrame.Open(self, label='open SRIM compound.dat') self.filepath.filepath.config(stat=tix.DISABLED) self.filepath.grid(row=1, column=0, sticky='WE', padx=(10, 0)) # data selection table self.dselect = matdb_frame.MatDBFrame(self) self.dselect.grid(row=2, column=0, sticky='WENS') self.grid_rowconfigure(2, weight=1) self.grid_columnconfigure(0, weight=1) if srimdata: self.load_srimdata(srimdata)
def body(self, top): ''' define GUI elements''' f = tix.Frame(top) f.pack(expand=True, fill='x') for row, opt in enumerate(self.options): tix.Label(f, text=opt[0]).grid(row=row, column=0, sticky='w') e = tix.Entry(f) e.grid(row=row, column=1, sticky='e') e.insert('end', str(opt[1])) self.entries.append(e)
def makelist(self): speedBalloon = tix.Balloon(self.t) variable = {} var_variables = ['percent'] temp = rcc.variability temp.sort() labels = {} bLabel = tix.Label( self.t, text= 'Variability level between individual animals of the same creature\nPercent is assumed to be maximum variability\nIf 0 the BODY_APPEARANCE_MODIFIER tags will not be added' ) r = 0 c = 1 for key in temp: r = r + 1 variable[key] = {} if r > 12: c = c + 1 r = 1 labels[key] = tix.Label(self.t, text=key.capitalize() + ':').grid(row=r, column=c, stick=tix.W) for var in var_variables: r = r + 1 variable[key][var] = tix.Control( self.t, label=var.capitalize(), min=0, value=rcc.numbers['variable'][key][var].get(), variable=rcc.numbers['variable'][key][var], autorepeat=False) variable[key][var].subwidget('decr').destroy() variable[key][var].subwidget('incr').destroy() variable[key][var].grid(row=r, column=c, stick=tix.E, padx=10) bLabel.grid(row=0, column=0, columnspan=c) self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL) self.bb.add('close', text='Close', command=self.close) self.bb.grid(row=0, column=c + 1)
def build_notebook(self, top): mono_font = self.get_mono_font() nb = tix.NoteBook(top) nb.add("item_page", label="items", raisecmd=lambda pg="item": self.ev_page(pg)) fr = tix.Frame(nb.subwidget("item_page")) self.item_fmt = "{:15} {:15} {:10} ${:<8} {:12}" tix.Label(fr, font=mono_font, text=self.item_fmt.format("Name", "Description", "Owner", "Price", "Condition")).pack(anchor="w") # 使用tix.ScrolledListBox而不是tix.ScrolledText小部件。使用ScrolledListBox小部件可以更加容易地选择行。 slb = tix.ScrolledListBox(fr, width=500, height=200) slb.pack(fill="both", expand=True) fr.pack(fill="both", expand=True) self.item_list = slb.subwidget("listbox") self.item_list.configure(font=mono_font, bg="white") # 使用bind()方法将鼠标左键双击链接到适当的编辑事件处理程序上。除了处理默认小部件的命令,bind()机制可以处理任意事件。 # 不同的是,回调函数必须接受一个事件参数并为参数设置了默认值None。这样普通的回调机制以及双击链接也可以使用它 self.item_list.bind("<Double-1>", self.ev_edit_item) # 事件处理程序都是自解释型的。在选中新的notebook页时,就会触发ev_page()处理程序。它只是为活动页面启动对应的菜单。 nb.add("member_page", label="members", raisecmd=lambda pg="member": self.ev_page(pg)) fr = tix.Frame(nb.subwidget("member_page")) self.member_fmt = "{:<15} {:<40}" tix.Label(fr, font=mono_font, text=self.member_fmt.format( "Name", "Email Address")).pack(anchor="w") slb = tix.ScrolledListBox(fr, width=40, height=20) slb.pack(fill="both", expand=True) fr.pack(fill="both", expand=True) self.member_list = slb.subwidget("listbox") self.member_list.configure(font=mono_font, bg="white") self.member_list.bind("<Double-1>", self.ev_edit_member) return nb
def makelist(self): speedBalloon = tix.Balloon(self.t) speed = {} speed_variables = ['max', 'min'] temp = rcc.gaits temp.sort() labels = {} bLabel = tix.Label( self.t, text= 'Speed of various gaits in kph\nChosen from a triangular distribution between Min and Max\nSee the readme for additional information' ) r = 0 c = 1 for key in temp: r = r + 1 speed[key] = {} if r > 12: c = c + 1 r = 1 labels[key] = tix.Label(self.t, text=key.capitalize() + ':').grid(row=r, column=c, stick=tix.W) for var in speed_variables: r = r + 1 speed[key][var] = tix.Control( self.t, label=var.capitalize(), min=0, value=rcc.numbers['speed'][key][var].get(), variable=rcc.numbers['speed'][key][var], autorepeat=False) speed[key][var].subwidget('decr').destroy() speed[key][var].subwidget('incr').destroy() speed[key][var].grid(row=r, column=c, stick=tix.E, padx=10) bLabel.grid(row=0, column=0, columnspan=c) self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL) self.bb.add('close', text='Close', command=self.close) self.bb.grid(row=0, column=c + 1)
def makelist(self): argsBalloon = tix.Balloon(self.t) arg = {} arg_variables = ['max', 'min'] temp = list(rcc.args.keys()) temp.sort() labels = {} bLabel = tix.Label( self.t, text= 'All arguments found in the Templates\nWhen each creature is generated a value is chosen for each argument\nThe value is selected from a triangular distribution between Min and Max' ) r = 0 c = 1 for key in temp: r = r + 1 arg[key] = {} if r > 12: c = c + 1 r = 1 labels[key] = tix.Label(self.t, text=key.capitalize() + ':').grid(row=r, column=c, stick=tix.W) for var in arg_variables: r = r + 1 arg[key][var] = tix.Control( self.t, label=var.capitalize(), min=0, value=rcc.numbers['args'][key][var].get(), variable=rcc.numbers['args'][key][var], autorepeat=False) arg[key][var].subwidget('decr').destroy() arg[key][var].subwidget('incr').destroy() arg[key][var].grid(row=r, column=c, stick=tix.E, padx=10) bLabel.grid(row=0, column=0, columnspan=c) self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL) self.bb.add('close', text='Close', command=self.close) self.bb.grid(row=0, column=c + 1)
def show_filters(self): for i, (key, value) in enumerate(self.filters.items()): label = tk.Label(self.top_frame, text=key) label.grid(row=0, column=i) for j, name in enumerate(value['names']): var = tk.IntVar() btn = tk.Checkbutton(self.top_frame, text=name, variable=var) btn.var = var btn.label = label['text'] btn.grid(row=j + 1, column=i) btn.bind('<1>', self.gen_filter_url) self.widget_filters = self.top_frame.grid_slaves()
def test1(): top = tix.Tk() lab = tix.Label(top) lab.pack() # 使用的是config()而不是之前使用的字典来设置文本属性。事件处理程序lambda函数使用了字符串参数s # 它是通过小部件事件传入的。字符串保存当前选择的值 cb = tix.ComboBox(top, command=lambda s: lab.config(text=s)) for s in ["Fred", "Ginger", "Gene", "Debbie"]: cb.insert("end", s) cb.pick(0) lab["text"] = "Pick any item" cb.pack() top.mainloop()
def body(self, master): message = """Proof Builder has determined that the conclusion contains atomic forms not found in any of the premises. To continue with this inference provide values for these forms.""" label1 = tix.Label(master, text=message) label1.grid(row=0, column=0, columnspan=2) label2 = tix.Label(master, text='sequent') label2.grid(row=1, column=0) label3 = tix.Label(master, text=str(self._sequent), relief=tix.SUNKEN) label3.grid(row=1, column=1) for row, pair in enumerate(self.unmappedSymbolMap): label4 = tix.Label(master, text=(pair[0] + ':')) label4.grid(row=row + 2, column=0) entry = tix.Entry(master) entry.grid(row=row + 2, column=1) self._entries.append((pair[0], entry))
def buildNoteBook(self, top): mono_font = self.getMonoFont() nb = tix.NoteBook(top) nb.add("itemPage", label="Items", raisecmd=lambda pg="item": self.evPage(pg)) fr = tix.Frame(nb.subwidget("itemPage")) self.itemFmt = "{:15} {:15} {:10} ${:<8} {:12}" tix.Label(fr, font=mono_font, text=self.itemFmt.format("Name", "Description", "Owner", "Price", "Condition")).pack(anchor='w') slb = tix.ScrolledListBox(fr, width=500, height=200) slb.pack(fill='both', expand=True) fr.pack(fill='both', expand=True) self.itemList = slb.subwidget("listbox") self.itemList.configure(font=mono_font, bg='white') self.itemList.bind('<Double-1>', self.evEditItem) nb.add("memberPage", label="Members", raisecmd=lambda pg="member": self.evPage(pg)) fr = tix.Frame(nb.subwidget("memberPage")) self.memberFmt = "{:<15} {:<40}" tix.Label(fr, font=mono_font, text=self.memberFmt.format("Name", "Email Address")).pack(anchor='w') slb = tix.ScrolledListBox(fr, width=40, height=20) slb.pack(fill='both', expand=True) fr.pack(fill='both', expand=True) self.memberList = slb.subwidget("listbox") self.memberList.configure(font=mono_font, bg='white') self.memberList.bind('<Double-1>', self.evEditMember) return nb
def ShowClock(self): self.SetServerTimeOffset() clockwindow = tix.Toplevel() clockwindow.resizable(0,0) tix.Label(clockwindow, text="현재 보인아이 시간").pack() clocklabel = Label(clockwindow, text="00:00:00", font=("TkDefaultFont", 50, "bold")) clocklabel.pack(expand=YES, fill=BOTH) clockwindow.update_idletasks() fontscale = Scale(clockwindow,label="글자크기",from_=10, to=200, orient=HORIZONTAL, resolution=10) fontscale.pack(fill=Y,anchor=S) fontscale.set(50) fontscale.bind("<ButtonRelease-1>",lambda x: self.UpdateStandaloneClock(clocklabel, fontscale)) clocklabel.after(100, self.UpdateBoiniClock(clocklabel))
def body(self, master): msg = tix.Label( master, text= "Multiple conclusion forms are possible. Select the desired form." ) msg.pack(side=tix.TOP) self._box = tix.Listbox(master, height=4, width=60, selectmode=tix.SINGLE) self._box.insert(tix.END, *tuple(self._conclList)) self._box.pack(side=tix.TOP)
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 get_human_captcha(buffer): get_human_captcha.res = '' def callback(ev): get_human_captcha.res = inp.get() window.destroy() window = Tix.Tk() im = Image.open(io.BytesIO(buffer)) img = ImageTk.PhotoImage(im) Tix.Label(window, image=img).pack() window.bind("<Return>", callback) inp = Tix.Entry(window) inp.pack() inp.focus_set() window.mainloop() return get_human_captcha.res
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 makelist(self): listBalloon = tix.Balloon(self.t) c = 0 self.cl = {} for type1 in rcc.checks[self.ty]: j = 0 self.cl[type1] = tix.CheckList(self.t, width=350, height=600, browsecmd=self.update) self.cl[type1].grid(row=0, column=c) self.cl[type1].hlist.add(type1, text=type1) self.cl[type1].setstatus(type1, rcc.status[type1]['All']) temp = list(rcc.data[type1].keys()) temp.sort() for subtype in temp: j = j + 1 hl = tix.Label(self.cl[type1], text="?") hl.place(in_=self.cl[type1], x=10, y=16 * j + 4, width=10, height=10) # hl.place_forget() self.cl[type1].hlist.add(type1 + '.' + subtype, text=subtype) self.cl[type1].setstatus(type1 + '.' + subtype, rcc.status[type1][subtype]) # print(self.cl[type].subwidgets_all()) listBalloon.bind_widget(hl, msg=''.join( rcc.store[type1][subtype])) # hl.place_forget() self.cl[type1].autosetmode() c = c + 1 self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL) self.bb.add('close', text='Close', command=self.close) self.bb.add('check', text='Check All', command=self.checkAll) self.bb.add('uncheck', text='Uncheck All', command=self.uncheckAll) self.bb.grid(row=0, column=c)
def __enter__( self ): # Remove the app window from the display self._root.withdraw( ) # Calculate the geometry to center the splash image scrnWt = self._root.winfo_screenwidth( ) scrnHt = self._root.winfo_screenheight( ) imgWt = self._image.width() imgHt = self._image.height() imgXPos = (scrnWt / 2) - (imgWt / 2) imgYPos = (scrnHt / 2) - (imgHt / 2) # Create the splash screen self._splash = Tix.Toplevel() self._splash.overrideredirect(1) self._splash.geometry( '+%d+%d' % (imgXPos, imgYPos) ) Tix.Label( self._splash, image=self._image, cursor='watch' ).pack( ) # Force Tk to draw the splash screen outside of mainloop() self._splash.update( )
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 makeNumbersTable(frame): numbersSubFrame = tix.Frame(frame) numbersSubFrame.rowconfigure(1) numbersSubFrame.columnconfigure(1) numbersBalloon = tix.Balloon(numbersSubFrame) rcc.numbers['args'] = {} for key in rcc.args: rcc.numbers['args'][key] = {} rcc.numbers['args'][key]['max'] = tix.IntVar() rcc.numbers['args'][key]['min'] = tix.IntVar() rcc.numbers['speed'] = {} for key in rcc.gaits: rcc.numbers['speed'][key] = {} rcc.numbers['speed'][key]['max'] = tix.IntVar() rcc.numbers['speed'][key]['min'] = tix.IntVar() rcc.numbers['attributes'] = {} for key in rcc.phys_attributes: rcc.numbers['attributes'][key] = {} rcc.numbers['attributes'][key]['max'] = tix.IntVar() rcc.numbers['attributes'][key]['min'] = tix.IntVar() rcc.numbers['attributes'][key]['sigma'] = tix.IntVar() for key in rcc.ment_attributes: rcc.numbers['attributes'][key] = {} rcc.numbers['attributes'][key]['max'] = tix.IntVar() rcc.numbers['attributes'][key]['min'] = tix.IntVar() rcc.numbers['attributes'][key]['sigma'] = tix.IntVar() rcc.numbers['variable'] = {} for key in rcc.variability: rcc.numbers['variable'][key] = {} rcc.numbers['variable'][key]['percent'] = tix.IntVar() r = 0 c = 0 sizeLabel = tix.Label(numbersSubFrame, text='Sizes:') sizeLabel.grid(row=r, column=c, stick=tix.W) rcc.numbers['size'] = {} creatureSize = {} size_variables = ['mean', 'sigma', 'min', 'vermin', 'tiny', 'trade'] for var in size_variables: r = r + 1 rcc.numbers['size'][var] = tix.IntVar() creatureSize[var] = tix.Control(numbersSubFrame, label=var.capitalize(), min=0, variable=rcc.numbers['size'][var], autorepeat=False, integer=True) creatureSize[var].subwidget('decr').destroy() creatureSize[var].subwidget('incr').destroy() creatureSize[var].grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( sizeLabel, msg= 'Size tokens [BODY_SIZE:x_1:y_1:a_1], [BODY_SIZE:x_2:y_2:a_2], and [BODY_SIZE:x_3:y_3:a_3] are calculated as follows:\n a_3 is calculated by selecting a random number from a gaussian distribution with a mean Mean and sigma Sigma\n a_1 is calculated by selecting a random number from a gaussian distribution with a mean a_3/100 and sigma Sigma/100\n a_2 = a_1 + a_3*75%, if this is > a_3 then a_2 and a_3 are switched\n x_1, y_1, y_2, and y_3 are all set to 0 for now\n x_2 is taken from [BABY:n] (see Ages for calculation) such that x_2 = n + 1\n x_3 is taken from [CHILD:n] (see Ages for calculation) such that x_3 = n + 2\nMin is the minimum size of any creature, if a_3 < Min then a_3 = Min\nVermin sets the maximum size needed for the #VERMIN flag, below this size #VERMIN is set to True\nTiny sets the maximum size needed for the #TINY flag, below this size #TINY is set to True\nTrade sets the minimum size needed for the #TRADE flag, above this size #TRADE is set to True\nMore information on the #VERMIN, #TINY, and #TRADE flags can be found in the readme' ) r = r + 1 ageLabel = tix.Label(numbersSubFrame, text='Ages:') ageLabel.grid(row=r, column=c, stick=tix.W) rcc.numbers['age'] = {} creatureAge = {} age_variables = ['max', 'min', 'baby', 'child', 'delta'] for var in age_variables: r = r + 1 rcc.numbers['age'][var] = tix.IntVar() creatureAge[var] = tix.Control(numbersSubFrame, label=var.capitalize(), min=0, variable=rcc.numbers['age'][var], autorepeat=False, integer=True) creatureAge[var].subwidget('decr').destroy() creatureAge[var].subwidget('incr').destroy() creatureAge[var].grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( ageLabel, msg= 'Ages tokens [MAX_AGE:a:b], [BABY:c], [CHILD:d] are calculated as follows:\n a is chosen between Min and Max\n b is chosen between Max and Max + Delta\n c is chosen between Baby - Delta and Baby + Delta\n d is chosen between Child - Delta and Child + Delta\nall choices are selected randomly from a triangular distribution\nif c > d then c is set to 0 and d is set to c\nif either c or d is 0 then that tag will not be added to the creature' ) r = 0 c = 1 popLabel = tix.Label(numbersSubFrame, text='Pop Numbers:') popLabel.grid(row=r, column=c, stick=tix.W) rcc.numbers['population'] = {} creaturePopulation = {} pop_variables = ['max', 'min'] for var in pop_variables: r = r + 1 rcc.numbers['population'][var] = tix.IntVar() creaturePopulation[var] = tix.Control( numbersSubFrame, label=var.capitalize(), min=0, variable=rcc.numbers['population'][var], autorepeat=False, integer=True) creaturePopulation[var].subwidget('decr').destroy() creaturePopulation[var].subwidget('incr').destroy() creaturePopulation[var].grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( popLabel, msg= 'Population token [POPULATION_NUMBER:x:y] is calculated as follows:\n x is chosen between 1 and Min\n y is chosen between Min and Max\nchoices are selected randomly from a triangular distribution\nFor Vermin and Tiny creatures x = 250 and y = 500' ) r = r + 1 clusLabel = tix.Label(numbersSubFrame, text='Cluster Numbers: ') clusLabel.grid(row=r, column=c, stick=tix.W) rcc.numbers['cluster'] = {} creatureCluster = {} clus_variables = ['max', 'min'] for var in clus_variables: r = r + 1 rcc.numbers['cluster'][var] = tix.IntVar() creatureCluster[var] = tix.Control( numbersSubFrame, label=var.capitalize(), min=0, variable=rcc.numbers['cluster'][var], autorepeat=False, integer=True) creatureCluster[var].subwidget('decr').destroy() creatureCluster[var].subwidget('incr').destroy() creatureCluster[var].grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( clusLabel, msg= 'Cluster token [CLUSTER_NUMBER:x:y] is calculated as follows:\n x is chosen between 1 and Min\n y is chosen between Min and Max\nchoices are selected randomly from a triangular distribution\nFor Vermin and Tiny creatures the cluster token is not used' ) r = r + 1 intLabel = tix.Label(numbersSubFrame, text='Interactions:') intLabel.grid(row=r, column=c, stick=tix.W) rcc.numbers['interaction'] = {} creatureInteraction = {} clus_variables = ['max', 'chance'] for var in clus_variables: r = r + 1 rcc.numbers['interaction'][var] = tix.IntVar() creatureInteraction[var] = tix.Control( numbersSubFrame, label=var.capitalize(), min=0, variable=rcc.numbers['interaction'][var], autorepeat=False, integer=True) creatureInteraction[var].subwidget('decr').destroy() creatureInteraction[var].subwidget('incr').destroy() creatureInteraction[var].grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( intLabel, msg= 'Max is the maximum number of interactions and one creature can have\nChance is the percent chance that each interaction slot is filled\nFor example, if Max is 3 and Chance is 50 then slot 1 will have a 50% chance of being filled, slot 2 will have a 50% chance of being filled, and slot 3 will have a 50% chance of being filled\nThis, of course, is dependent on their being 3 interactions that the creature meets the criteria for' ) r = r + 1 casteLabel = tix.Label(numbersSubFrame, text='Castes:') casteLabel.grid(row=r, column=c, stick=tix.W) rcc.numbers['caste'] = {} creatureCaste = {} clus_variables = ['male', 'female', 'neutral'] for var in clus_variables: r = r + 1 rcc.numbers['caste'][var] = tix.IntVar() creatureCaste[var] = tix.Control( numbersSubFrame, label=var.capitalize(), min=0, variable=rcc.numbers['caste'][var], autorepeat=False, integer=True) creatureCaste[var].subwidget('decr').destroy() creatureCaste[var].subwidget('incr').destroy() creatureCaste[var].grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( casteLabel, msg= 'The maximum number of castes each creature can have which meets specific criteria\nMale sets the maximum number of castes with the #MALE LINK\nFemale sets the maximum number of castes with the #FEMALE LINK\nNeutral sets the maximum number of castes without the #MALE or #FEMALE LINK\nFor more information on LINKs and the #MALE and #FEMALE flags see the readme' ) r += 1 subLabel = Label(numbersSubFrame, text='Subtypes:') subLabel.grid(row=r, column=c, stick=tix.W) r += 1 rcc.numbers['subtypes'] = tix.IntVar() creatureSubtypes = tix.Control(numbersSubFrame, label='Max', min=0, value=0, variable=rcc.numbers['subtypes'], autorepeat=False, integer=True) creatureSubtypes.subwidget('decr').destroy() creatureSubtypes.subwidget('incr').destroy() creatureSubtypes.grid(row=r, column=c, stick=tix.E, padx=10) numbersBalloon.bind_widget( subLabel, msg= 'Number of subtypes one creature can be, their total number of subtypes will be chosen between 0 and Max from a flat distribution' ) r = 0 c = 2 percLabel = Label(numbersSubFrame, text='Percents:') percLabel.grid(row=r, column=c, stick=tix.W) creaturePercentage = {} rcc.numbers['percents'] = {} temp = list(rcc.tokens.keys()) temp.sort() for key in temp: r += 1 rcc.numbers['percents'][key] = tix.IntVar() creaturePercentage[key] = tix.Control( numbersSubFrame, label=' ' + key, min=0, value=0, variable=rcc.numbers['percents'][key], autorepeat=False, integer=True) creaturePercentage[key].subwidget('decr').destroy() creaturePercentage[key].subwidget('incr').destroy() creaturePercentage[key].grid(row=r, column=2, stick=tix.E, padx=10) numbersBalloon.bind_widget( percLabel, msg= 'Percentage chance given token will be true\nIf you wish to generate a set of creatures that all share a commonality you would set the percent to 100' ) numbersSubFrame.grid(row=1, column=1)
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')
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 __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 __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
def f(): print('callback') print(b.configure()) b.destroy() root = tk.Tk() b = tk.Button(text='button', command=f) b.pack(anchor='nw', side='left', expand=0, fill='x') b.mainloop() if 0: root = tix.Tk() Tree = tix.Tree L = tix.Label(root) L.pack(anchor='nw', side='left', expand=0, fill='x') L["text"] = 'Label' L['command'] = f L.mainloop() ## ## ##B = tix.ButtonBox(root) ##B.pack() ##B["text"] = 'ButtonBox' ## ##t = Tree(root) ##t.pack() ##t.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 drawframes(_sw): for c in COLORS: e = tk.Label(sw.window, text=c, background=c) e.pack(fill=tk.X)
def showErrorLabel(self): errorLabel = tkx.Label( self, text="Negalima nubraizyti diagramos! tikrinkite duomenis.") errorLabel.pack()