def initUI(self): # set default font size defaultFont = font.nametofont("TkDefaultFont") defaultFont.configure(family="helvetica", size=14) # create control widgets entryWidth=5 controlFrame = ttk.Frame(self.parent) gaussianParameterFrame = ttk.Frame(controlFrame) gaussian1ParameterFrame = ttk.LabelFrame(gaussianParameterFrame, text='Gaussian 1') e = dict() e['p1W'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.p1, width=entryWidth, font=defaultFont) e['mu1xW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.mu1x, width=entryWidth, font=defaultFont) e['mu1yW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.mu1y, width=entryWidth, font=defaultFont) e['s1xW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1x, width=entryWidth, font=defaultFont) e['s1yW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1y, width=entryWidth, font=defaultFont) e['s1xyW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1xy, width=entryWidth, font=defaultFont) e['s1yxW'] = ttk.Entry(gaussian1ParameterFrame, textvariable=self.s1xy, width=entryWidth, font=defaultFont) gaussian2ParameterFrame = ttk.LabelFrame(gaussianParameterFrame, text='Gaussian 2') e['p2W'] = ttk.Label(gaussian2ParameterFrame, text='1-P(y1)') e['mu2xW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.mu2x, width=entryWidth, font=defaultFont) e['mu2yW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.mu2y, width=entryWidth, font=defaultFont) e['s2xW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2x, width=entryWidth, font=defaultFont) e['s2yW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2y, width=entryWidth, font=defaultFont) e['s2xyW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2xy, width=entryWidth, font=defaultFont) e['s2yxW'] = ttk.Entry(gaussian2ParameterFrame, textvariable=self.s2xy, width=entryWidth, font=defaultFont) drawingControlFrame = ttk.LabelFrame(controlFrame, text='Drawing') drawTypeW = ttk.Combobox(drawingControlFrame, textvariable=self.drawType, font=defaultFont, postcommand=self.redraw) drawTypeW['values'] = ('Decision Boundary', 'Posterior', 'Scaled Posterior difference', 'Log-likelihood ratio') drawPDFContourW = ttk.Checkbutton(drawingControlFrame, text="Draw PDF Contours", variable=self.drawPDFContour, command=self.redraw) zoomFrame = ttk.Frame(drawingControlFrame) zoomL = ttk.Label(zoomFrame, text='zoom') e['zoomW'] = ttk.Entry(zoomFrame, textvariable=self.zoom, width=entryWidth, font=defaultFont) #xlimFrame = ttk.Frame(drawingControlFrame) #xlimL = ttk.Label(xlimFrame, text='xlim') #e['xminW'] = ttk.Entry(xlimFrame, textvariable=self.xmin, width=entryWidth, font=defaultFont) #e['xmaxW'] = ttk.Entry(xlimFrame, textvariable=self.xmax, width=entryWidth, font=defaultFont) #ylimFrame = ttk.Frame(drawingControlFrame) #ylimL = ttk.Label(ylimFrame, text='ylim') #e['yminW'] = ttk.Entry(ylimFrame, textvariable=self.ymin, width=entryWidth, font=defaultFont) #e['ymaxW'] = ttk.Entry(ylimFrame, textvariable=self.ymax, width=entryWidth, font=defaultFont) redrawButton = ttk.Button(drawingControlFrame, text="Redraw", command=self.redraw) aboutButton = ttk.Button(controlFrame, text="About...", command=self.about) resetButton = ttk.Button(controlFrame, text="Reset", command=self.set_defaults) # bindings for key in e.keys(): e[key].bind('<Return>', self.redraw) drawTypeW.bind("<<ComboboxSelected>>", self.redraw) # place widgets within gaussian1ParameterFrame p1L = ttk.Label(gaussian1ParameterFrame, text='P(y1)') p1L.grid(row=0, column=0) e['p1W'].grid(row=0, column=1) mu1L = ttk.Label(gaussian1ParameterFrame, text='mean1') mu1L.grid(row=1, column=0, columnspan=2) e['mu1xW'].grid(row=2, column=0) e['mu1yW'].grid(row=2, column=1) s1L = ttk.Label(gaussian1ParameterFrame, text='cov1') s1L.grid(row=3, column=0, columnspan=2) e['s1xW'].grid(row=4, column=0) e['s1xyW'].grid(row=4, column=1) e['s1yxW'].grid(row=5, column=0) e['s1yW'].grid(row=5, column=1) # place widgets within gaussian2ParameterFrame p2L = ttk.Label(gaussian2ParameterFrame, text='P(y2) = 1-P(y1)') p2L.grid(row=0, column=0, columnspan=2) mu2L = ttk.Label(gaussian2ParameterFrame, text='mean2') mu2L.grid(row=1, column=0, columnspan=2) e['mu2xW'].grid(row=2, column=0) e['mu2yW'].grid(row=2, column=1) s2L = ttk.Label(gaussian2ParameterFrame, text='cov2') s2L.grid(row=3, column=0, columnspan=2) e['s2xW'].grid(row=4, column=0) e['s2xyW'].grid(row=4, column=1) e['s2yxW'].grid(row=5, column=0) e['s2yW'].grid(row=5, column=1) # place widgets within drawing frame drawTypeW.pack(side="top") drawPDFContourW.pack(side="top") zoomL.pack(side="left") e['zoomW'].pack(side="left") zoomFrame.pack(side="top") #xlimL.pack(side="left") #e['xminW'].pack(side="left") #e['xmaxW'].pack(side="left") #xlimFrame.pack(side="top") #ylimL.pack(side="left") #e['yminW'].pack(side="left") #e['ymaxW'].pack(side="left") #ylimFrame.pack(side="top") redrawButton.pack(side="top") # place Gaussian frames within gaussianParameterFrame gaussian1ParameterFrame.pack(side="left") gaussian2ParameterFrame.pack(side="left") # place gfame and drawing frame within controlFrame aboutButton.pack(side="top") resetButton.pack(side="top") gaussianParameterFrame.pack(side="top") drawingControlFrame.pack(side="top") controlFrame.pack(side="left") # define drawing frame drawingFrame = tk.Frame(self.parent) self.fig = plt.Figure() self.canvas = FigureCanvasTkAgg(self.fig, master=self.parent) #tkagg.NavigationToolbar2TkAgg(canvas, root) self.canvas.draw() self.canvas.get_tk_widget().pack(side='top', fill='both', expand=1) drawingFrame.pack() self.redraw()
from tkinter import * from tkinter import ttk def calculate(*args): try: value = float(feet.get()) meters.set((0.3048 * value * 10000.0 + 0.5) / 10000.0) except ValueError: pass root = Tk() root.title("Pies a metros") mainframe = ttk.Frame(root, padding="30 12 30 12") mainframe.grid() mainframe.columnconfigure(0, weight=1) mainframe.rowconfigure(0, weight=1) mainframe = ttk.Frame(root, padding="30 12 30 12") mainframe.grid() mainframe.columnconfigure(0, weight=1) mainframe.rowconfigure(0, weight=1) feet = StringVar() meters = StringVar() feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet) feet_entry.grid(column=2, row=1, sticky=(W, E))
def _create_toolbar(self): toolbar = ttk.Frame(self, style="ViewToolbar.TFrame") self.title_label = ttk.Label( toolbar, style="ViewToolbar.TLabel", text="" # borderwidth=1, # background=ui_utils.get_main_background() ) self.title_label.grid(row=0, column=3, sticky="nsew", pady=5, padx=5) toolbar.columnconfigure(3, weight=1) self.tabs = [] def create_tab(col, caption, page): if page == self.active_page: style = "Active.ViewTab.TLabel" else: style = "Inactive.ViewTab.TLabel" tab = ttk.Label(toolbar, text=caption, style=style) tab.grid(row=0, column=col, pady=5, padx=5, sticky="nsew") self.tabs.append(tab) page.tab = tab def on_click(event): if self.active_page == page: return else: if self.active_page is not None: self.active_page.grid_forget() self.active_page.tab.configure( style="Inactive.ViewTab.TLabel") self.active_page = page page.grid(row=1, column=0, sticky="nsew", padx=0) tab.configure(style="Active.ViewTab.TLabel") if self.active_page == self.attributes_page and ( self.object_info is None or not self.object_info.get("attributes")): self.request_object_info() tab.bind("<1>", on_click) # create_tab(1, "Overview", self.general_page) create_tab(5, "Data", self.content_page) create_tab(6, "Atts", self.attributes_page) def create_navigation_link(col, image_filename, action, tooltip, padx=0): button = ttk.Button( toolbar, # command=handler, image=get_workbench().get_image(image_filename), style= "ViewToolbar.Toolbutton", # TODO: does this cause problems in some Macs? state=tk.NORMAL, ) ui_utils.create_tooltip(button, tooltip) button.grid(row=0, column=col, sticky=tk.NE, padx=padx, pady=4) button.bind("<Button-1>", action) return button def configure(event): if event.width > 20: self.title_label.configure(wraplength=event.width - 10) self.title_label.bind("<Configure>", configure, True) self.back_button = create_navigation_link(1, "nav-backward", self.navigate_back, _("Previous object"), (5, 0)) self.forward_button = create_navigation_link(2, "nav-forward", self.navigate_forward, _("Next object")) self.back_links = [] self.forward_links = [] return toolbar
arr_all_name.append(e3.get()) # with open(dir_path + '/last.json', 'w', encoding='utf8') as json_f: # json.dump(print_info(find_key(e1.get())), json_f, ensure_ascii=False) master = Tk() master.geometry("500x250") rows = 0 while rows < 50: master.rowconfigure(rows, weight=1) master.columnconfigure(rows, weight=1) rows += 1 nb = ttk.Notebook(master) nb.grid(row=1, column=0, columnspan=50, rowspan=49, sticky='NESW') main_page = ttk.Frame(nb) nb.add(main_page, text='Main') page1 = ttk.Frame(nb) nb.add(page1, text='Tab1') page2 = ttk.Frame(nb) nb.add(page2, text='Tab2') m_l = Label( main_page, text= "To work with all files go to Tab1.\n\nTo work with the specified one go to Tab2" ) m_l.config(font=("Courier", 14)) m_l.place(x=5, y=50) b1 = Button(page1, text="Show_path", command=openfile) b1.place(x=5, y=65) b1.config(height=1, width=20)
def main(): global str_ip, str_port, str_com, str_stat, str_stat2, l_stat, l_stat2 global f, com_on, khr_on, com_line, old_data com_line = [ 0x0D, 0x00, 0x02, 0x50, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62 ] old_data = 0 w = tkinter.Tk() w.title("KHRサーバー") f = ttk.Frame(w, padding=10) f.pack() label5 = ttk.Label(f, text="ネットワーク") label5.grid(row=0, column=0) b_start = ttk.Button(f, text="受信開始", command=net_start) b_start.grid(row=0, column=1) b_end = ttk.Button(f, text="通信切断", command=net_end) b_end.grid(row=0, column=2) label6 = ttk.Label(f, text="KHR") label6.grid(row=1, column=0) b2_start = ttk.Button(f, text="接続開始", command=khr_start) b2_start.grid(row=1, column=1) b2_end = ttk.Button(f, text="接続終了", command=khr_end) b2_end.grid(row=1, column=2) label1 = ttk.Label(f, text="サーバーIPアドレス") label1.grid(row=2, column=0) str_ip = tkinter.StringVar() str_ip.set(socket.gethostbyname(socket.gethostname())) e_ip = ttk.Entry(f, textvariable=str_ip, state="readonly") e_ip.grid(row=2, column=1, columnspan=2) label2 = ttk.Label(f, text="ポート番号") label2.grid(row=3, column=0) str_port = tkinter.StringVar() str_port.set("54141") e_port = ttk.Entry(f, textvariable=str_port) e_port.grid(row=3, column=1, columnspan=2) label3 = ttk.Label(f, text="COM番号") label3.grid(row=4, column=0) str_com = tkinter.StringVar() str_com.set("COM5") e_com = ttk.Entry(f, textvariable=str_com) e_com.grid(row=4, column=1, columnspan=2) label4 = ttk.Label(f, text="ネットステータス") label4.grid(row=5, column=0) str_stat = tkinter.StringVar() str_stat.set("開始待ち") l_stat = ttk.Label(f, textvariable=str_stat) l_stat.grid(row=5, column=1, columnspan=2) label7 = ttk.Label(f, text="KHRステータス") label7.grid(row=6, column=0) str_stat2 = tkinter.StringVar() str_stat2.set("開始待ち") l_stat2 = ttk.Label(f, textvariable=str_stat2) l_stat2.grid(row=6, column=1, columnspan=2) com_on = False khr_on = False f.after(0, wait_data) f.mainloop()
from tkinter import ttk import platform def quit(): global tkTop tkTop.destroy() tkTop = tk.Tk() tkTop.geometry('500x300') tkLabelTop = tk.Label(tkTop, text=" http://hello-python.blogspot.com ") tkLabelTop.pack() notebook = ttk.Notebook(tkTop) frame1 = ttk.Frame(notebook) frame2 = ttk.Frame(notebook) notebook.add(frame1, text='Frame One') notebook.add(frame2, text='Frame Two') notebook.pack() tkButtonQuit = tk.Button( tkTop, text="Quit", command=quit) tkButtonQuit.pack() tkDummyButton = tk.Button( frame1, text="Dummy Button") tkDummyButton.pack()
fTyp = [("", "*")] iDir = os.path.abspath(os.path.dirname(__file__)) filepath = filedialog.askopenfilename(filetypes=fTyp, initialdir=iDir) # 取得したファイルパスをボックスに出力する file_path.set(filepath) if __name__ == '__main__': # ウィンドウを作成 root = tkinter.Tk() root.title("hello world") # アプリの名前 root.geometry("500x300") # アプリの画面サイズ # Frame1の作成 frame1 = ttk.Frame(root, padding=10) frame1.grid() # 「ファイル」ラベルの作成 s = StringVar() s.set('ファイル名:') label1 = ttk.Label(frame1, textvariable=s) label1.grid(row=0, column=0) # 参照ファイルのパスを表示するテキストボックスの作成 file_path = StringVar() filepath_entry = ttk.Entry(frame1, textvariable=file_path, width=50) filepath_entry.grid(row=0, column=1) # 参照ボタンの作成 refer_button = ttk.Button(root, text=u'参照', command=click_refer_button)
def create_widgets(self): toplevel_frame = ttk.Frame(self, padding='0.1i') (self.toolslist, selected_item) = self.get_tools_list() self.tools_frame = ttk.LabelFrame(toplevel_frame, text="{} Available Tools".format( len(self.toolslist)), padding='0.1i') self.toolnames = tk.StringVar(value=self.toolslist) self.tools_listbox = tk.Listbox(self.tools_frame, height=22, listvariable=self.toolnames) self.tools_listbox.bind("<<ListboxSelect>>", self.update_tool_help) self.tools_listbox.grid(row=0, column=0, sticky=tk.NSEW) self.tools_listbox.columnconfigure(0, weight=10) self.tools_listbox.rowconfigure(0, weight=1) s = ttk.Scrollbar(self.tools_frame, orient=tk.VERTICAL, command=self.tools_listbox.yview) s.grid(row=0, column=1, sticky=(tk.N, tk.S)) self.tools_listbox['yscrollcommand'] = s.set self.tools_frame.grid(row=0, column=0, sticky=tk.NSEW) self.tools_frame.columnconfigure(0, weight=10) self.tools_frame.columnconfigure(1, weight=1) self.tools_frame.rowconfigure(0, weight=1) overall_frame = ttk.Frame(toplevel_frame, padding='0.1i') # json_str = '{"default_value": null, "description": "Directory containing data files.", "flags": ["--wd"], "name": "Working Directory", "optional": true, "parameter_type": "Directory"}' # self.wd = FileSelector(json_str, overall_frame) # self.wd.grid(row=0, column=0, sticky=tk.NSEW) current_tool_frame = ttk.Frame(overall_frame, padding='0.1i') self.current_tool_lbl = ttk.Label( current_tool_frame, text="Current Tool: {}".format(self.tool_name), justify=tk.LEFT) # , font=("Helvetica", 12, "bold") self.current_tool_lbl.grid(row=0, column=0, sticky=tk.W) self.view_code_button = ttk.Button(current_tool_frame, text="View Code", width=12, command=self.view_code) self.view_code_button.grid(row=0, column=1, sticky=tk.E) current_tool_frame.grid(row=1, column=0, sticky=tk.NSEW) current_tool_frame.columnconfigure(0, weight=1) current_tool_frame.columnconfigure(1, weight=1) tool_args_frame = ttk.Frame(overall_frame, padding='0.0i') self.tool_args_frame = ttk.Frame(overall_frame, padding='0.0i') self.tool_args_frame.grid(row=2, column=0, sticky=tk.NSEW) self.tool_args_frame.columnconfigure(0, weight=1) # args_frame = ttk.Frame(overall_frame, padding='0.1i') # self.args_label = ttk.Label(args_frame, text="Tool Arguments:", justify=tk.LEFT) # self.args_label.grid(row=0, column=0, sticky=tk.W) # args_frame2 = ttk.Frame(args_frame, padding='0.0i') # self.args_value = tk.StringVar() # self.args_text = ttk.Entry(args_frame2, width=45, justify=tk.LEFT, textvariable=self.args_value) # self.args_text.grid(row=0, column=0, sticky=tk.NSEW) # self.args_text.columnconfigure(0, weight=1) # self.clearButton = ttk.Button(args_frame2, text="Clear", width=4, command=self.clear_args_box) # self.clearButton.pack(pady=10, padx=10) # self.clearButton.grid(row=0, column=1, sticky=tk.E) # self.clearButton.columnconfigure(0, weight=1) # args_frame2.grid(row=1, column=0, sticky=tk.NSEW) # args_frame2.columnconfigure(0, weight=10) # args_frame2.columnconfigure(1, weight=1) # args_frame.grid(row=2, column=0, sticky=tk.NSEW) # args_frame.columnconfigure(0, weight=1) # # Add the bindings # if _platform == "darwin": # self.args_text.bind("<Command-Key-a>", self.args_select_all) # else: # self.args_text.bind("<Control-Key-a>", self.args_select_all) buttonsFrame = ttk.Frame(overall_frame, padding='0.1i') self.run_button = ttk.Button(buttonsFrame, text="Run", width=8, command=self.run_tool) # self.run_button.pack(pady=10, padx=10) self.run_button.grid(row=0, column=0) self.quitButton = ttk.Button(buttonsFrame, text="Cancel", width=8, command=self.cancel_operation) self.quitButton.grid(row=0, column=1) buttonsFrame.grid(row=3, column=0, sticky=tk.E) output_frame = ttk.Frame(overall_frame, padding='0.1i') outlabel = ttk.Label(output_frame, text="Output:", justify=tk.LEFT) outlabel.grid(row=0, column=0, sticky=tk.NW) k = wbt.tool_help(self.tool_name) self.out_text = ScrolledText(output_frame, width=63, height=10, wrap=tk.NONE, padx=7, pady=7) self.out_text.insert(tk.END, k) self.out_text.grid(row=1, column=0, sticky=tk.NSEW) self.out_text.columnconfigure(0, weight=1) output_frame.grid(row=4, column=0, sticky=tk.NSEW) output_frame.columnconfigure(0, weight=1) # Add the binding if _platform == "darwin": self.out_text.bind("<Command-Key-a>", self.select_all) # self.out_text.bind("<Command-Key-A>", self.select_all) else: self.out_text.bind("<Control-Key-a>", self.select_all) progress_frame = ttk.Frame(overall_frame, padding='0.1i') self.progress_label = ttk.Label(progress_frame, text="Progress:", justify=tk.LEFT) self.progress_label.grid(row=0, column=0, sticky=tk.E, padx=5) self.progress_var = tk.DoubleVar() self.progress = ttk.Progressbar(progress_frame, orient="horizontal", variable=self.progress_var, length=200, maximum=100) self.progress.grid(row=0, column=1, sticky=tk.E) progress_frame.grid(row=5, column=0, sticky=tk.E) overall_frame.grid(row=0, column=1, sticky=tk.NSEW) overall_frame.columnconfigure(0, weight=1) toplevel_frame.columnconfigure(0, weight=1) toplevel_frame.columnconfigure(1, weight=4) # self.pack(fill=tk.BOTH, expand=1) # toplevel_frame.columnconfigure(0, weight=1) # toplevel_frame.rowconfigure(0, weight=1) toplevel_frame.grid(row=0, column=0, sticky=tk.NSEW) # Select the appropriate tool, if specified, otherwise the first tool self.tools_listbox.select_set(selected_item) self.tools_listbox.event_generate("<<ListboxSelect>>") self.tools_listbox.see(selected_item) menubar = tk.Menu(self) filemenu = tk.Menu(menubar, tearoff=0) filemenu.add_command(label="Set Working Directory", command=self.set_directory) filemenu.add_command(label="Locate WhiteboxTools exe", command=self.select_exe) filemenu.add_command(label="Refresh Tools", command=self.refresh_tools) filemenu.add_separator() filemenu.add_command(label="Exit", command=self.quit) menubar.add_cascade(label="File", menu=filemenu) editmenu = tk.Menu(menubar, tearoff=0) editmenu.add_command( label="Cut", command=lambda: self.focus_get().event_generate("<<Cut>>")) editmenu.add_command( label="Copy", command=lambda: self.focus_get().event_generate("<<Copy>>")) editmenu.add_command( label="Paste", command=lambda: self.focus_get().event_generate("<<Paste>>")) menubar.add_cascade(label="Edit ", menu=editmenu) helpmenu = tk.Menu(menubar, tearoff=0) helpmenu.add_command(label="About", command=self.help) helpmenu.add_command(label="License", command=self.license) menubar.add_cascade(label="Help ", menu=helpmenu) self.master.config(menu=menubar)
root = tk.Tk() root.title("Distance Converter") metres_value = tk.StringVar() def calculate_feet(*args): try: metres = float(metres_value.get()) feet = metres * 3.28084 print(f"{metres} metres is equal to {feet:.3f} feet.") except ValueError: pass main = ttk.Frame(root, padding=(30, 15)) main.grid() root.columnconfigure(0, weight=1) # -- Widgets -- metres_label = ttk.Label(main, text="metres") metres_input = ttk.Entry(main, width=10, textvariable=metres_value) feet_label = ttk.Label(main, text="feet") feet_display = ttk.Label(main, text="Feet shown here") calc_button = ttk.Button(main, text="Calculate", command=calculate_feet) # -- Layout -- metres_label.grid(column=0, row=0, sticky="W", padx=5, pady=5)
typeInfo.configure(text=eventType) widgetInfo.configure(text=eventWidget) charInfo.configure(text=eventChar) keySymInfo.configure(text=eventKeySym) keyCodeInfo.configure(text=eventKeyCode) def shortcut(action): labelSpecial.configure(text=action) # tkinter ====================================== root = Tk() # create label grid to report generic key press info labelFrame = ttk.Frame(root) labelFrame.grid(row=0, column=0, columnspan=5) typeLabel = ttk.Label(labelFrame, text='TYPE ') widgetLabel = ttk.Label(labelFrame, text='WIDGET ') charLabel = ttk.Label(labelFrame, text='CHAR ') keySymLabel = ttk.Label(labelFrame, text='KEYSYM ') keyCodeLabel = ttk.Label(labelFrame, text='KEYCODE ') typeLabel.grid(row=0, column=0) widgetLabel.grid(row=0, column=1) charLabel.grid(row=0, column=2) keySymLabel.grid(row=0, column=3) keyCodeLabel.grid(row=0, column=4) typeInfo = ttk.Label(labelFrame, text=' ')
def __init__(self, json_str, runner, master=None): # first make sure that the json data has the correct fields j = json.loads(json_str) self.name = j['name'] self.description = j['description'] self.flag = j['flags'][len(j['flags']) - 1] self.parameter_type = j['parameter_type'] self.file_type = j['parameter_type']['ExistingFileOrFloat'] self.optional = j['optional'] default_value = j['default_value'] self.runner = runner ttk.Frame.__init__(self, master) self.grid() self['padding'] = '0.1i' self.label = ttk.Label(self, text=self.name, justify=tk.LEFT) self.label.grid(row=0, column=0, sticky=tk.W) self.label.columnconfigure(0, weight=1) if not self.optional: self.label['text'] = self.label['text'] + "*" fs_frame = ttk.Frame(self, padding='0.0i') self.value = tk.StringVar() self.entry = ttk.Entry(fs_frame, width=35, justify=tk.LEFT, textvariable=self.value) self.entry.grid(row=0, column=0, sticky=tk.NSEW) self.entry.columnconfigure(0, weight=1) if default_value: self.value.set(default_value) # self.img = tk.PhotoImage(file=script_dir + "/img/open.gif") # self.open_button = ttk.Button(fs_frame, width=55, image=self.img, command=self.select_dir) self.open_button = ttk.Button(fs_frame, width=4, text="...", command=self.select_file) self.open_button.grid(row=0, column=1, sticky=tk.E) # self.open_button.columnconfigure(0, weight=1) self.label = ttk.Label(fs_frame, text='OR', justify=tk.LEFT) self.label.grid(row=0, column=2, sticky=tk.W) # self.label.columnconfigure(0, weight=1) self.value2 = tk.StringVar() self.entry2 = ttk.Entry(fs_frame, width=10, justify=tk.LEFT, textvariable=self.value2) self.entry2.grid(row=0, column=3, sticky=tk.NSEW) self.entry2.columnconfigure(0, weight=1) self.entry2['justify'] = 'right' fs_frame.grid(row=1, column=0, sticky=tk.NSEW) fs_frame.columnconfigure(0, weight=10) fs_frame.columnconfigure(1, weight=1) # self.pack(fill=tk.BOTH, expand=1) self.columnconfigure(0, weight=1) self.rowconfigure(0, weight=1) self.rowconfigure(1, weight=1) # Add the bindings if _platform == "darwin": self.entry.bind("<Command-Key-a>", self.select_all) else: self.entry.bind("<Control-Key-a>", self.select_all)
startangle=140) plt.axis('equal') plt.show() else: okno.geometry("670x440") lista.grid(row=1, stick=W) lista.delete(0.0, END) lista.insert(END, 'Przeprowadź najpierw sprawdzanie') return if __name__ == "__main__": okno = tkinter.Tk() okno.title("Program Ping") okno.geometry("650x80") ramka = ttk.Frame(okno, padding=(10, 10, 10, 10)) zrodlo = tkinter.Entry(ramka, width=104) wersja = tkinter.Label(ramka, text="IpCheck ver. 0.6.5 ALPHA") lista = tkinter.Text(ramka) menubar = Menu(okno) filemenu = Menu(menubar, tearoff=0) editmenu = Menu(menubar, tearoff=0) filemenu.add_command(label="Wczytaj plik", command=przypisz) filemenu.add_command(label="Zapisz wynik", command=zapisz) filemenu.add_command(label="Zamknij", command=koniec) editmenu.add_command(label="Sprawdź", command=sprawdz) editmenu.add_command(label="Rysuj wykres", command=wykres) menubar.add_cascade(label="Plik", menu=filemenu) menubar.add_cascade(label="Opcje", menu=editmenu) okno.config(menu=menubar) zrodlo.grid(row=0, column=0, stick=W + E)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # images self.img_properties_d = tkinter.PhotoImage(name='properties-dark', file='assets/icons8_settings_24px.png') self.img_properties_l = tkinter.PhotoImage(name='properties-light', file='assets/icons8_settings_24px_2.png') self.img_addtobackup_d = tkinter.PhotoImage(name='add-to-backup-dark', file='assets/icons8_add_folder_24px.png') self.img_addtobackup_l = tkinter.PhotoImage(name='add-to-backup-light', file='assets/icons8_add_book_24px.png') self.img_stopbackup_d = tkinter.PhotoImage(name='stop-backup-dark', file='assets/icons8_cancel_24px.png') self.img_stopbackup_l = tkinter.PhotoImage(name='stop-backup-light', file='assets/icons8_cancel_24px_1.png') self.img_play = tkinter.PhotoImage(name='play', file='assets/icons8_play_24px_1.png') self.img_refresh = tkinter.PhotoImage(name='refresh', file='assets/icons8_refresh_24px_1.png') self.img_stop_d = tkinter.PhotoImage(name='stop-dark', file='assets/icons8_stop_24px.png') self.img_stop_l = tkinter.PhotoImage(name='stop-light', file='assets/icons8_stop_24px_1.png') self.img_opened_folder = tkinter.PhotoImage(name='opened-folder', file='assets/icons8_opened_folder_24px.png') self.img_logo = tkinter.PhotoImage(name='logo', file='assets/backup.png') # ----- buttonbar buttonbar = ttk.Frame(self, style='primary.TFrame') buttonbar.pack(fill='x', pady=1, side='top') ## new backup bb_new_backup_btn = ttk.Button(buttonbar, text='New backup set', image='add-to-backup-light', compound='left') bb_new_backup_btn.configure(command=lambda: showinfo(message='Adding new backup')) bb_new_backup_btn.pack(side='left', ipadx=5, ipady=5, padx=(1, 0), pady=1) ## backup bb_backup_btn = ttk.Button(buttonbar, text='Backup', image='play', compound='left') bb_backup_btn.configure(command=lambda: showinfo(message='Backing up...')) bb_backup_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1) ## refresh bb_refresh_btn = ttk.Button(buttonbar, text='Refresh', image='refresh', compound='left') bb_refresh_btn.configure(command=lambda: showinfo(message='Refreshing...')) bb_refresh_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1) ## stop bb_stop_btn = ttk.Button(buttonbar, text='Stop', image='stop-light', compound='left') bb_stop_btn.configure(command=lambda: showinfo(message='Stopping backup.')) bb_stop_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1) ## settings bb_settings_btn = ttk.Button(buttonbar, text='Settings', image='properties-light', compound='left') bb_settings_btn.configure(command=lambda: showinfo(message='Changing settings')) bb_settings_btn.pack(side='left', ipadx=5, ipady=5, padx=0, pady=1) # ----- left panel left_panel = ttk.Frame(self, style='bg.TFrame') left_panel.pack(side='left', fill='y') ## ----- backup summary (collapsible) bus_cf = CollapsingFrame(left_panel) bus_cf.pack(fill='x', pady=1) ## container bus_frm = ttk.Frame(bus_cf, padding=5) bus_frm.columnconfigure(1, weight=1) bus_cf.add(bus_frm, title='Backup Summary', style='secondary.TButton') ## destination ttk.Label(bus_frm, text='Destination:').grid(row=0, column=0, sticky='w', pady=2) ttk.Label(bus_frm, textvariable='destination').grid(row=0, column=1, sticky='ew', padx=5, pady=2) self.setvar('destination', 'd:/test/') ## last run ttk.Label(bus_frm, text='Last Run:').grid(row=1, column=0, sticky='w', pady=2) ttk.Label(bus_frm, textvariable='lastrun').grid(row=1, column=1, sticky='ew', padx=5, pady=2) self.setvar('lastrun', '14.06.2021 19:34:43') ## files Identical ttk.Label(bus_frm, text='Files Identical:').grid(row=2, column=0, sticky='w', pady=2) ttk.Label(bus_frm, textvariable='filesidentical').grid(row=2, column=1, sticky='ew', padx=5, pady=2) self.setvar('filesidentical', '15%') ## section separator bus_sep = ttk.Separator(bus_frm, style='secondary.Horizontal.TSeparator') bus_sep.grid(row=3, column=0, columnspan=2, pady=10, sticky='ew') ## properties button bus_prop_btn = ttk.Button(bus_frm, text='Properties', image='properties-dark', compound='left') bus_prop_btn.configure(command=lambda: showinfo(message='Changing properties'), style='Link.TButton') bus_prop_btn.grid(row=4, column=0, columnspan=2, sticky='w') ## add to backup button bus_add_btn = ttk.Button(bus_frm, text='Add to backup', image='add-to-backup-dark', compound='left') bus_add_btn.configure(command=lambda: showinfo(message='Adding to backup'), style='Link.TButton') bus_add_btn.grid(row=5, column=0, columnspan=2, sticky='w') # ----- backup status (collapsible) status_cf = CollapsingFrame(left_panel) status_cf.pack(fill='x', pady=1) ## container status_frm = ttk.Frame(status_cf, padding=10) status_frm.columnconfigure(1, weight=1) status_cf.add(status_frm, title='Backup Status', style='secondary.TButton') ## progress message status_prog_lbl = ttk.Label(status_frm, textvariable='prog-message', font='Helvetica 10 bold') status_prog_lbl.grid(row=0, column=0, columnspan=2, sticky='w') self.setvar('prog-message', 'Backing up...') ## progress bar status_prog = ttk.Progressbar(status_frm, variable='prog-value', style='success.Horizontal.TProgressbar') status_prog.grid(row=1, column=0, columnspan=2, sticky='ew', pady=(10, 5)) self.setvar('prog-value', 71) ## time started ttk.Label(status_frm, textvariable='prog-time-started').grid(row=2, column=0, columnspan=2, sticky='ew', pady=2) self.setvar('prog-time-started', 'Started at: 14.06.2021 19:34:56') ## time elapsed ttk.Label(status_frm, textvariable='prog-time-elapsed').grid(row=3, column=0, columnspan=2, sticky='ew', pady=2) self.setvar('prog-time-elapsed', 'Elapsed: 1 sec') ## time remaining ttk.Label(status_frm, textvariable='prog-time-left').grid(row=4, column=0, columnspan=2, sticky='ew', pady=2) self.setvar('prog-time-left', 'Left: 0 sec') ## section separator status_sep = ttk.Separator(status_frm, style='secondary.Horizontal.TSeparator') status_sep.grid(row=5, column=0, columnspan=2, pady=10, sticky='ew') ## stop button status_stop_btn = ttk.Button(status_frm, text='Stop', image='stop-backup-dark', compound='left') status_stop_btn.configure(command=lambda: showinfo(message='Stopping backup'), style='Link.TButton') status_stop_btn.grid(row=6, column=0, columnspan=2, sticky='w') ## section separator status_sep = ttk.Separator(status_frm, style='secondary.Horizontal.TSeparator') status_sep.grid(row=7, column=0, columnspan=2, pady=10, sticky='ew') # current file message ttk.Label(status_frm, textvariable='current-file-msg').grid(row=8, column=0, columnspan=2, pady=2, sticky='ew') self.setvar('current-file-msg', 'Uploading file: d:/test/settings.txt') # logo ttk.Label(left_panel, image='logo', style='bg.TLabel').pack(side='bottom') # ---- right panel right_panel = ttk.Frame(self, padding=(2, 1)) right_panel.pack(side='right', fill='both', expand='yes') ## file input browse_frm = ttk.Frame(right_panel) browse_frm.pack(side='top', fill='x', padx=2, pady=1) file_entry = ttk.Entry(browse_frm, textvariable='folder-path') file_entry.pack(side='left', fill='x', expand='yes') open_btn = ttk.Button(browse_frm, image='opened-folder', style='secondary.Link.TButton', command=self.get_directory) open_btn.pack(side='right') ## Treeview tv = ttk.Treeview(right_panel, show='headings') tv['columns'] = ('name', 'state', 'last-modified', 'last-run-time', 'size') tv.column('name', width=150, stretch=True) for col in ['last-modified', 'last-run-time', 'size']: tv.column(col, stretch=False) for col in tv['columns']: tv.heading(col, text=col.title(), anchor='w') tv.pack(fill='x', pady=1) ## scrolling text output scroll_cf = CollapsingFrame(right_panel) scroll_cf.pack(fill='both', pady=1) output_container = ttk.Frame(scroll_cf, padding=1) self.setvar('scroll-message', 'Log: Backing up... [Uploading file: D:/sample_file_35.txt]') st = ScrolledText(output_container) st.pack(fill='both', expand='yes') scroll_cf.add(output_container, textvariable='scroll-message') # ----- seed with some sample data ----------------------------------------------------------------------------- ## starting sample directory file_entry.insert('end', 'D:/text/myfiles/top-secret/samples/') ## treeview and backup logs for x in range(20, 35): result = choices(['Backup Up', 'Missed in Destination'])[0] st.insert('end', f'19:34:{x}\t\t Uploading file: D:/text/myfiles/top-secret/samples/sample_file_{x}.txt\n') st.insert('end', f'19:34:{x}\t\t Upload {result}.\n') timestamp = datetime.now().strftime('%d.%m.%Y %H:%M:%S') tv.insert('', 'end', x, values=(f'sample_file_{x}.txt', result, timestamp, timestamp, f'{int(x // 3)} MB')) tv.selection_set(20)
def __init__(self, ventana): self.__ventana = ventana #tamaño de la ventana self.__ventana.geometry("400x200") #titulo de la ventana self.__ventana.title("Organizador de pedidos") self.__notebook = ttk.Notebook(self.__ventana, width=400, height=100) #pestaña agregar self.__agregar = ttk.Frame(self.__notebook) self.__notebook.add(self.__agregar, text="Agregar") #pestaña eliminar self.__eliminar = ttk.Frame(self.__notebook) self.__notebook.add(self.__eliminar, text="Eliminar") #pestaña buscar self.__buscar = ttk.Frame(self.__notebook) self.__notebook.add(self.__buscar, text="Buscar") #pestaña pedidos de hoy self.__pedidosDeHoy = ttk.Frame(self.__notebook) self.__notebook.add(self.__pedidosDeHoy, text="Pedidos de Hoy") #pestaña proximos pedidos self.__proximosPedidos = ttk.Frame(self.__notebook) self.__notebook.add(self.__proximosPedidos, text="Próximos pedidos") #labels y entries agregar self.__titulos = [ "Nombre: ", "Cantidad: ", "Precio: ", "Fecha de entrega: ", "Modo de pago: " ] self.__Entry = [] for i in range(5): tk.Label(self.__agregar, text=self.__titulos[i]).grid(row=i, column=1) self.__Entry.append(tk.Entry(self.__agregar, width=40)) self.__Entry[i].grid(row=i, column=2) #boton agregar self.__botonAgregar = tk.Button(self.__agregar, text="Agregar", command=self.agregar, bg="green") self.__botonAgregar.grid(row=6, column=2) #label y entry eliminar self.__labelEliminar = tk.Label(self.__eliminar, text="Nombre: ") self.__labelEliminar.grid(row=1, column=2) self.__EntryEliminar = tk.Entry(self.__eliminar) self.__EntryEliminar.grid(row=1, column=3) #boton eliminar self.__botonEliminar = tk.Button(self.__eliminar, text="Eliminar", command=self.eliminar, bg="pink") self.__botonEliminar.grid(row=4, column=3) #bind eliminar con intro #self.__eliminar.bind("<Return>",command = self.eliminar) #label y entry Buscar self.__labelBuscar = tk.Label(self.__buscar, text="Nombre: ") self.__labelBuscar.grid(row=1, column=1) self.__EntryBuscar = tk.Entry(self.__buscar) self.__EntryBuscar.grid(row=1, column=2) #boton buscar self.__botonBuscar = tk.Button(self.__buscar, text="Buscar", command=self.buscar, bg="pink") self.__botonBuscar.grid(row=2, column=2) #pedidos de hoy self.__tabla = ttk.Treeview(self.__pedidosDeHoy, columns=5, selectmode="browse") self.__tabla["columns"] = ("Nombre", "Cantidad", "Precio", "Fecha de Entrega", "Modo de pago") self.__tabla.column("#0", width=2, minwidth=2, stretch=tk.NO) #scrollbar pedidos hoy yscroll = ttk.Scrollbar(self.__pedidosDeHoy, orient="vertical", command=self.__tabla.yview) yscroll.pack(side="right", fill="y") self.__tabla.configure(yscrollcommand=yscroll.set) for categoria in self.__tabla["columns"]: self.__tabla.column(categoria, width=27, minwidth=27) self.__tabla.heading(categoria, text=categoria, anchor=tk.W) #boton cargar datos hoy self.__botonCargar = tk.Button(self.__pedidosDeHoy, text="Actualizar", command=self.cargarDatosHoy, bg="pink") self.__botonCargar.pack() #pedidos proximos self.__tablaProximosPedidos = ttk.Treeview(self.__proximosPedidos, columns=5, selectmode="browse") self.__tablaProximosPedidos["columns"] = ("Nombre", "Cantidad", "Precio", "Fecha de Entrega", "Modo de pago") self.__tablaProximosPedidos.column("#0", width=2, minwidth=2, stretch=tk.NO) #scrollbar pedidos proximos yscroll = ttk.Scrollbar(self.__proximosPedidos, orient="vertical", command=self.__tablaProximosPedidos.yview) yscroll.pack(side="right", fill="y") self.__tablaProximosPedidos.configure(yscrollcommand=yscroll.set) for categoria in self.__tablaProximosPedidos["columns"]: self.__tablaProximosPedidos.column(categoria, width=27, minwidth=27) self.__tablaProximosPedidos.heading(categoria, text=categoria, anchor=tk.W) #boton cargar datos proximos pedidos self.__botonCargar = tk.Button(self.__proximosPedidos, text="Actualizar", command=self.cargarDatosProximosPedidos, bg="pink") self.__botonCargar.pack() self.__notebook.pack(expand=1, fill="both") #boton guardar datos self.__botonGuardar = tk.Button(self.__ventana, text="Guardar datos", command=self.guardar, bg="skyblue") self.__botonGuardar.pack() #cargar pedidos de hoy y proximos self.cargarDatosHoy() self.cargarDatosProximosPedidos() self.__ventana.mainloop()
b.place(x=660,y=600,width=100,height=25) def work_schedule(): b = Button(schedule_frame, text="export", command=export_doc) b.place(x=660,y=600,width=100,height=25) def export_doc(): print("nothing to export") n = ttk.Notebook(root) n.place(x=0,y=0,width=760, height=680) f1 = ttk.Frame(n) # first page, which would get widgets gridded into it f2 = ttk.Frame(n) # second page n.add(f1, text='Stock Manager') b = Button(f1, text="export", command=export_doc) b.place(x=660,y=600,width=100,height=25) n.add(f2, text='Volunteer Schedule Manager') b = Button(f2, text="export", command=export_doc) b.place(x=660,y=600,width=100,height=25)
def __init__(self, master): self.n = 8 # number of queens self.queens = (0 for i in range(self.n)) # queens in current solution self.index = 0 # index of currently displayed solution self.solutions = [] # list of all possible solutions for n queens # build gui self.master = master self.master.title('NQueens') self.master.configure(background='#e1d8b9') self.master.minsize(400, 470) self.master.resizable(True, True) self.master.bind('<Configure>', lambda e: self._draw_board()) self.style = ttk.Style() self.style.configure('TFrame', background='#e1d8b9') self.style.configure('TButton', background='#e1d8b9') self.style.configure('TLabel', background='#e1d8b9') self.board_canvas = Canvas(self.master) self.board_canvas.pack() self.controls_frame = ttk.Frame(self.master) self.controls_frame.pack(side=TOP, pady=10) ttk.Label(self.controls_frame, text='Number of Queens:', font='Verdana 10 bold').grid(row=0, column=0) self.n_var = StringVar() self.n_var.set(self.n) Spinbox(self.controls_frame, from_=4, to=99, width=2, font='Verdana 10 bold', textvariable=self.n_var).grid(row=0, column=1) ttk.Button(self.controls_frame, text='Get Next Solution', command=self._solution_callback).grid(row=1, column=0, columnspan=2) ttk.Label(self.controls_frame).grid(row=0, column=2, padx=10) # spacer self.solution_var = StringVar() self.time_var = StringVar() self.solution_var.set('--') self.time_var.set('--') ttk.Label(self.controls_frame, text='Solution:', font='Verdana 10 bold').grid(row=0, column=3, sticky=(E)) ttk.Label(self.controls_frame, textvariable=self.solution_var, font='Verdana 10').grid(row=0, column=4, sticky=(W)) ttk.Label(self.controls_frame, text='Elapsed Time:', font='Verdana 10 bold').grid(row=1, column=3, sticky=(E)) ttk.Label(self.controls_frame, textvariable=self.time_var, font='Verdana 10').grid(row=1, column=4, sticky=(W)) self._solution_callback( ) # begin by showing first solution to N queens
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg import matplotlib.pyplot as plt import pandas as pd import numpy as np window = tk.Tk() window.geometry("1080x640") window.wm_title("Trading") pw = ttk.PanedWindow(window, orient=tk.HORIZONTAL) pw.pack(fill=tk.BOTH, expand=True) w2 = ttk.PanedWindow(pw, orient=tk.VERTICAL) frame1 = ttk.Frame(pw, width=360, height=640, relief=tk.SUNKEN) frame2 = ttk.Frame(pw, width=720, height=400, relief=tk.SUNKEN) frame3 = ttk.Frame(pw, width=720, height=240, relief=tk.SUNKEN) w2.add(frame2) w2.add(frame3) pw.add(w2) pw.add(frame1) # frame1: treeview, open trade button item = "" def callback(event):
# Set up main Tk window and title root = Tk() root.title("Timer") root.iconbitmap("timer_icon.ico") root.resizable(width=False, height=False) # Set up variable classes to track changes status_msg = StringVar(value=default_status_msg) timer_hours = StringVar(value=t1.hours_default) timer_mins = StringVar() # Left empty for faster input timer_secs = StringVar(value=t1.secs_default) time_left = StringVar(value=default_time) # Create a themed frame widget within the main window to hold UI content mainframe = ttk.Frame(root, padding="5 5 5 5", borderwidth=1, relief='sunken') mainframe.grid(row=1, column=0, sticky=(N, W, E, S)) # Create a status bar status_bar = ttk.Label(root, textvariable=status_msg, padding="3 3 3 3", borderwidth=1, relief='sunken', anchor=W, background=color_status_bar) status_bar.grid(row=2, column=0, columnspan=3, sticky=[W, E]) # Create label widgets for hours, mins, and secs time_label_hours = ttk.Label(mainframe, text="Hours").grid(row=1, column=1) time_label_mins = ttk.Label(mainframe, text="Mins").grid(row=1, column=2) time_label_secs = ttk.Label(mainframe, text="Secs").grid(row=1, column=3) # Create entry widgets for getting timer length in hours, mins, and secs time_entry_hours = ttk.Entry(mainframe, width=5, textvariable=timer_hours) time_entry_mins = ttk.Entry(mainframe, width=5, textvariable=timer_mins)
] high = [ 'Enoxaparin dose 60mg SC OD', 'Enoxaparin dose 80mg SC OD', 'Enoxaparin dose 100mg SC OD', 'Enoxaparin dose 120mg SC OD', 'Enoxaparin dose 150mg SC OD', 'Enoxaparin dose 180mg SC OD' ] wmech = ([40, 49.99], [50, 74.99], [75, 89.99], [90, 109.99], [110, 125]) mech = [ 'Enoxaparin dose 40mg SC BD', 'Enoxaparin dose 60mg SC BD', 'Enoxaparin dose 80mg SC BD', 'Enoxaparin dose 100mg SC BD', 'Enoxaparin dose 120mg SC BD' ] #sets Frames contentm = ttk.Frame(window, borderwidth=5, relief="ridge", padding=(3, 3, 12, 12)) contentm.grid(column=0, row=0, sticky=(N, S, E, W)) #fills data for entry frame Age_lbl = ttk.Label(contentm, text='Age ?', font=('', 20, 'bold')) Age_entry = ttk.Entry(contentm, font=('', 20, 'bold'), width=10, justify='right') Age_lbl.grid(row=0, column=0, sticky=(N, S, E, W), padx=5, pady=5) Age_entry.grid(row=0, column=1, sticky=(N, E), padx=5, pady=5) Age_entry.focus() Height_lbl = ttk.Label(contentm, text='Height in cm ?', font=('', 20, 'bold')) Height_entry = ttk.Entry(contentm,
def init(): """Initialise all widgets in the given window.""" for cat, btn_text in [ ('back_', _('Restore:')), ('game_', _('Backup:')), ]: UI[cat + 'frame'] = frame = ttk.Frame( window, ) UI[cat + 'title_frame'] = title_frame = ttk.Frame( frame, ) title_frame.grid(row=0, column=0, sticky='EW') UI[cat + 'title'] = ttk.Label( title_frame, font='TkHeadingFont', ) UI[cat + 'title'].grid(row=0, column=0) title_frame.rowconfigure(0, weight=1) title_frame.columnconfigure(0, weight=1) UI[cat + 'details'] = CheckDetails( frame, headers=HEADERS, ) UI[cat + 'details'].grid(row=1, column=0, sticky='NSEW') frame.rowconfigure(1, weight=1) frame.columnconfigure(0, weight=1) button_frame = ttk.Frame( frame, ) button_frame.grid(column=0, row=2) ttk.Label(button_frame, text=btn_text).grid(row=0, column=0) UI[cat + 'btn_all'] = ttk.Button( button_frame, text='All', width=3, ) UI[cat + 'btn_sel'] = ttk.Button( button_frame, text=_('Checked'), width=8, ) UI[cat + 'btn_all'].grid(row=0, column=1) UI[cat + 'btn_sel'].grid(row=0, column=2) UI[cat + 'btn_del'] = ttk.Button( button_frame, text=_('Delete Checked'), width=14, ) UI[cat + 'btn_del'].grid(row=1, column=0, columnspan=3) utils.add_mousewheel( UI[cat + 'details'].wid_canvas, UI[cat + 'frame'], ) UI['game_refresh'] = ttk.Button( UI['game_title_frame'], image=img.png('icons/tool_sub'), command=ui_refresh_game, ) UI['game_refresh'].grid(row=0, column=1, sticky='E') add_tooltip( UI['game_refresh'], "Reload the map list.", ) UI['game_title']['textvariable'] = game_name UI['back_title']['textvariable'] = backup_name UI['game_btn_all']['command'] = ui_backup_all UI['game_btn_sel']['command'] = ui_backup_sel UI['game_btn_del']['command'] = ui_delete_game UI['back_btn_all']['command'] = ui_restore_all UI['back_btn_sel']['command'] = ui_restore_sel UI['back_btn_del']['command'] = ui_delete_backup UI['back_frame'].grid(row=1, column=0, sticky='NSEW') ttk.Separator(orient=tk.VERTICAL).grid( row=1, column=1, sticky='NS', padx=5, ) UI['game_frame'].grid(row=1, column=2, sticky='NSEW') window.rowconfigure(1, weight=1) window.columnconfigure(0, weight=1) window.columnconfigure(2, weight=1)
gui_style = ttk.Style() gui_style.configure('My.TFrame', background='#334353') username = StringVar() save_to = StringVar() password = StringVar() count = StringVar() cloud_rVal = StringVar() cloud_rVal.set('Amazon') cred = StringVar() cred.set('none') cookie_path = StringVar() CheckCalling = IntVar() CheckAudio = IntVar() frame2 = ttk.Frame(root,padding="3 3 12 12", relief=GROOVE, borderwidth=2) #Row of buttons frame2.grid(column=0, row=0,sticky=(N, W, E, S)) ttk.Button(frame2, text="Browse", command=browse_path).grid(column=3, row=0, sticky=(E, W)) save_path_entry = ttk.Entry(frame2, width=30, textvariable=save_to, state='readonly') save_path_entry.grid(column=1, row=0, padx=3, columnspan=2, sticky=(W, E)) ttk.Label(frame2, text="Save To:").grid(column=0, row=0,padx=3, sticky=W) ttk.Label(frame2, text="Download from:").grid(column=0, padx=3,row=1, sticky=W) #radio buttons Radiobutton(frame2, text="Amazon", variable=cloud_rVal, value='Amazon').grid(column=1, row=1, padx=3, sticky=W) Radiobutton(frame2, text="IoT Device-2", variable=cloud_rVal, value='IoT2', state='disabled').grid(column=2, row=1, padx=3, sticky=W) Radiobutton(frame2, text="IoT device-3", variable=cloud_rVal, value='IoT3',state='disabled').grid(column=3, row=1, padx=3, sticky=W) mainframe = ttk.Frame(root, padding="3 3 12 12") mainframe.grid(column=0, row=1, sticky=(N, W, E, S)) mainframe.columnconfigure(0, weight=1)
def init_backup_settings(): """Initialise the auto-backup settings widget.""" from BEE2_config import GEN_OPTS check_var = tk.IntVar( value=GEN_OPTS.get_bool('General', 'enable_auto_backup') ) count_value = GEN_OPTS.get_int('General', 'auto_backup_count', 0) back_dir = GEN_OPTS.get_val('Directories', 'backup_loc', 'backups/') def check_callback(): GEN_OPTS['General']['enable_auto_backup'] = srctools.bool_as_int( check_var.get() ) def count_callback(): GEN_OPTS['General']['auto_backup_count'] = str(count.value) def directory_callback(path): GEN_OPTS['Directories']['backup_loc'] = path UI['auto_frame'] = frame = ttk.LabelFrame( window, ) UI['auto_enable'] = enable_check = ttk.Checkbutton( frame, text=_('Automatic Backup After Export'), variable=check_var, command=check_callback, ) frame['labelwidget'] = enable_check frame.grid(row=2, column=0, columnspan=3) dir_frame = ttk.Frame( frame, ) dir_frame.grid(row=0, column=0) ttk.Label( dir_frame, text='Directory', ).grid(row=0, column=0) UI['auto_dir'] = tk_tools.FileField( dir_frame, loc=back_dir, is_dir=True, callback=directory_callback, ) UI['auto_dir'].grid(row=1, column=0) count_frame = ttk.Frame( frame, ) count_frame.grid(row=0, column=1) ttk.Label( count_frame, text=_('Keep (Per Game):'), ).grid(row=0, column=0) count = tk_tools.ttk_Spinbox( count_frame, range=range(50), command=count_callback, ) count.grid(row=1, column=0) count.value = count_value
def __init__(self, frame, attributes_values): self.frame = ttk.Frame(frame) self.frame.pack(fill=tk.X, pady=(7, 10)) self.attributes_values = attributes_values self.row = 0 self.check_buttons = self.create_check_buttons()
from tkinter import ttk # tutorial copy paste from http://www.tkdocs.com/tutorial/onepage.html def calculate(*args): try: value = float(feet.get()) meters.set((0.3048 * value * 10000.0 + 0.5) / 10000.0) except ValueError: pass root = Tk() root.title("Feet to Meters") mainframe = ttk.Frame(root, padding="3 3 12 12") mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) mainframe.columnconfigure(0, weight=1) mainframe.rowconfigure(0, weight=1) feet = StringVar() meters = StringVar() feet_entry = ttk.Entry(mainframe, width=7, textvariable=feet) feet_entry.grid(column=2, row=1, sticky=(W, E)) ttk.Label(mainframe, textvariable=meters).grid(column=2, row=2, sticky=(W, E)) ttk.Button(mainframe, text="Calculate", command=calculate).grid(column=3, row=3, sticky=W)
def trygui(): #window = tk.Tk() global runPeriodicBaseline global runBaseline mainframe = ttk.Frame(window, padding="3 3 12 12") mainframe.grid(column=0, row=0, sticky=("N, W, E, S")) window.columnconfigure(0, weight=1, uniform='a') window.rowconfigure(0, weight=1, uniform='a') window.title("Here is your GUI window") window.geometry('+100+100') #print("Window is at ",str(window)) mylabel = ttk.Label(mainframe, text="ASIC testing") mylabel.grid(column=0, row=0) #print("mylabel is at ",str(mylabel)) mybutton = ttk.Button(mainframe, text="Run Tests", command=RunTests) #mybutton= ttk.Button(window,text="Run PeriodicBaseline") #print("mybutton is at ",str(mybutton)) mybutton.grid(column=0, row=1) print("trygui") mychipIDBox = [] def deploySN(): if int(numChipVar.get()) > len(mychipIDBox): for ChipNum in range( len(mychipIDBox) + 1, int(numChipVar.get()) + 1): print(ChipNum) mychipIDBox.append(ttk.Entry(SNframe, width=6)) mychipIDBox[ChipNum - 1].grid(column=4, row=ChipNum, sticky='E') if int(numChipVar.get()) < len(mychipIDBox): for ChipNum in range(len(mychipIDBox), int(numChipVar.get()), -1): print(ChipNum) mychipIDBox[ChipNum - 1].state(['disabled']) for ChipNum in range(1, int(numChipVar.get()) + 1): mychipIDBox[ChipNum - 1].state(['!disabled']) # print(runPeriodicBaseline.get()," = runPeriodicBaseline") # PerBaselineButton = ttk.Checkbutton(mainframe,text= # "Run PerBaseline",variable=runPeriodicBaseline,command=printStatus,onvalue="1",offvalue="0") # runPeriodicBaseline.set("1") # print(runPeriodicBaseline.get()," = runPeriodicBaseline") # runPeriodicBaseline.set("0") # print(runPeriodicBaseline.get()," = runPeriodicBaseline") # runPeriodicBaseline.set("1") # print(runPeriodicBaseline.get()," = runPeriodicBaseline") # #PerBaselineButton.state=runPeriodicBaseline # PerBaselineButton.grid(column=0,row=3,sticky="W") # print(runBaseline.get()," = runBaseline") # BaselineButton = ttk.Checkbutton(mainframe,text="Run Baseline",variable=runBaseline,command=printStatus) # #runBaseline=0 # #BaselineButton.value=0 #runBaseline # BaselineButton.grid(column=0,row=4,sticky="W") global testList testList = [ "Periodic Baseline", "Baseline", "Thresh Levels", "Leakage Data", "Charge Injection", "Pulse Data", "Analog Display" ] testDefaults = [1, 0, 1, 0, 1, 0, 1] testFunctionNames = [ "get_baseline_periodictrigger", "get_baseline_selftrigger", "get_ThreshLevels", "get_leakage_data", "get_charge_injection", "PulseChannelLoop", "AnalogDisplayLoop" ] testFunctions = [] global buttonVars #buttonVars = [] #[len(testList)] # will hold StringVar() testButton = [] #[len(testList)] # will hold test checkbuttons row = 4 testID = 0 print(len(testList)) for test in testList: testFunctions.append(testFunctionNames[testID]) print(test) buttonVars.append(tk.StringVar()) buttonVars[testID].set(testDefaults[testID]) testButton.append( ttk.Checkbutton(mainframe, text=test, variable=buttonVars[testID], command=printStatus)) testButton[testID].grid(column=0, row=row + 1, sticky="W") row = row + 1 testID = testID + 1 # print(runBaseline.get()," = runBaseline") # BaselineButton = ttk.Checkbutton(mainframe,text="Run Baseline",variable=runBaseline,command=printStatus) # BaselineButton.grid(column=0,row=5,sticky="W") textBox = tk.Text(mainframe, width=40, height=10) textBox.grid(column=9, row=2, rowspan=10) closebutton = ttk.Button(mainframe, text="Quit", command=window.destroy) closebutton.grid(column=9, row=99, sticky='E') #print("closebutton is at ",str(closebutton)) SNframe = ttk.Frame(mainframe, padding="3 3 12 12") SNframe.grid(column=9, row=0, rowspan=2, sticky='E') SNlabel = ttk.Label(SNframe, text="ASICs to test (1-10)") SNlabel.grid(column=1, row=0) numChipVar = tk.StringVar() #numChipVar.set("2") numChipWheel = tk.Spinbox(SNframe, from_=1, to=10, textvariable=numChipVar, command=deploySN) numChipWheel.grid(column=1, row=1, sticky='W') # this makes it interactive? window.mainloop()
def wrapped(cls, master, **kw): container = ttk.Frame(master) container.bind('<Enter>', lambda e: _bound_to_mousewheel(e, container)) container.bind('<Leave>', lambda e: _unbound_to_mousewheel(e, container)) return func(cls, container, **kw)
def get_frame(self) -> ttk.Frame: frame = ttk.Frame(self.top) frame.columnconfigure(1, weight=1) if self.is_symmetric: label_name = "Symmetric Link Effects" else: label_name = "Asymmetric Effects: Downstream / Upstream " row = 0 label = ttk.Label(frame, text=label_name, anchor=tk.CENTER) label.grid(row=row, column=0, columnspan=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Bandwidth (bps)") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.bandwidth) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) if not self.is_symmetric: entry = validation.PositiveIntEntry( frame, empty_enabled=False, textvariable=self.down_bandwidth) entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Delay (us)") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.delay) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) if not self.is_symmetric: entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.down_delay) entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Jitter (us)") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.jitter) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) if not self.is_symmetric: entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.down_jitter) entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Loss (%)") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveFloatEntry(frame, empty_enabled=False, textvariable=self.loss) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) if not self.is_symmetric: entry = validation.PositiveFloatEntry(frame, empty_enabled=False, textvariable=self.down_loss) entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Duplicate (%)") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.duplicate) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) if not self.is_symmetric: entry = validation.PositiveIntEntry( frame, empty_enabled=False, textvariable=self.down_duplicate) entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Buffer (Packets)") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.buffer) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) if not self.is_symmetric: entry = validation.PositiveIntEntry(frame, empty_enabled=False, textvariable=self.down_buffer) entry.grid(row=row, column=2, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Color") label.grid(row=row, column=0, sticky=tk.EW) self.color_button = tk.Button( frame, textvariable=self.color, background=self.color.get(), bd=0, relief=tk.FLAT, highlightthickness=0, command=self.click_color, ) self.color_button.grid(row=row, column=1, sticky=tk.EW, pady=PADY) row = row + 1 label = ttk.Label(frame, text="Width") label.grid(row=row, column=0, sticky=tk.EW) entry = validation.PositiveFloatEntry(frame, empty_enabled=False, textvariable=self.width) entry.grid(row=row, column=1, sticky=tk.EW, pady=PADY) return frame
def build_window(self): """Build Main Window, Widgets and Event Bindings""" self.root.geometry('650x450+300+300') self.root.minsize(650, 450) #frame config self.main_frame = tk.Frame(self.root) self.main_frame.grid(row=0, column=0) #Header Frame self.header_frame = ttk.Frame(self.main_frame) self.header_frame.grid(row=0, column=0, pady=1) ttk.Label(self.header_frame, text='\nCMD.py\n').grid(row=1, column=0, pady=1) #User Frame self.user_frame = ttk.Frame(self.main_frame) self.user_frame.grid(row=2, column=0, pady=7) ttk.Label(self.user_frame, text='Enter Command:').grid(row=3, column=0, pady=5, sticky='W') self.command_box = ttk.Entry(self.user_frame, width=50) self.command_box.grid(row=3, column=0) self.commandbutton = ttk.Button(self.user_frame, text='Execute Command', command=self.run_command) self.commandbutton.grid(row=3, column=0, pady=5, sticky='E') ttk.Label(self.user_frame, text="Select Working Directory:").grid(row=6, column=0, pady=5, sticky='W') self.filepathbutton = ttk.Button(self.user_frame, text='Select Directory', command=self.select_path) self.filepathbutton.grid(row=6, column=0, sticky='E') self.directorypath_box = ttk.Entry(self.user_frame, width=50) self.directorypath_box.grid(row=6, column=0) self.output_box = tk.Text(self.user_frame, width=75, height=15, wrap='word', state='disabled') self.output_box.grid(row=8, column=0, pady=5) self.output_scroll = ttk.Scrollbar(self.user_frame, orient='vertical', command=self.output_box.yview) self.output_scroll.grid(row=8, column=1, sticky='ns') self.clearbutton = ttk.Button(self.user_frame, text='Clear', command=self.clear) self.clearbutton.grid(row=9, column=0, pady=5, sticky='W') self.copybutton = ttk.Button(self.user_frame, text='Copy Output', command=self.copy) self.copybutton.grid(row=9, column=0, pady=5, sticky='E')
def __init__(self, parent, *args, **kwargs): ttk.Frame.__init__(self, parent, *args, **kwargs) # Parse folder creator options self.options = parse_options("folder_creator_options.json") # Target Directory selection self.select_directory = SelectDirectory(self, path=self.options["folder-dir"], title='Select Target Directory') self.select_directory.grid(row=0, column=0, columnspan=3, sticky=(N, E, S, W), padx=20, pady=10) # Folder Name Selection self.folder_name_entry = LabledEntry(self, title='Enter Output Folder Name', label='Output Name', defaultEntry=self.options['folder-name']) self.folder_name_entry.grid(row=1, column=0, sticky=(N, S, W, E), padx=20, pady=10) # Verbose Output Selection verbose_frame = ttk.LabelFrame(self, text='Console Logging') self.verbose = BooleanVar() self.verbose.set(self.options['verbose']) verbose_checkbox = ttk.Checkbutton(verbose_frame, text='Verbose Logging', variable=self.verbose) verbose_checkbox.grid(row=0, column=0, padx=10, pady=5) verbose_frame.rowconfigure(0, weight='1') verbose_frame.columnconfigure(0, weight='1') verbose_frame.grid(row=1, column=1, sticky=(N, E, S, W), padx=20, pady=10) # Workflows workflow_frame = ttk.Frame(self) # Download Files Workflow dl_workflow = FolderCreatorWorkflow(parent=workflow_frame, description="Downloads files from the Digial Library onto your local machine at the target directory specified above", scriptButtonName="Download Files", scriptCallback=self.runDownloadScript, optionsCallback=lambda: self.open_options(0)) dl_workflow.grid(row=0, column=0, sticky=(N, E, S, W), padx=0, pady=5) # Validate Folders Workflow validate_workflow = FolderCreatorWorkflow(parent=workflow_frame, description="Validates the folder structure at the target directory, and optionally outputs a sample table of contents", scriptButtonName='Validate Folder', scriptCallback=self.runValidateScript, optionsCallback=lambda: self.open_options(1)) validate_workflow.grid(row=0, column=1, sticky=(N, E, S, W), padx=20, pady=5) # Create Folders workflow create_folders = FolderCreatorWorkflow(parent=workflow_frame, description="Writes the folders to the Output folder in the target directory\n\nThis takes about 2-5 minutes", scriptButtonName='Generate Folders', scriptCallback=self.runFolderCreatorScript, optionsCallback=lambda: self.open_options(2)) create_folders.grid(row=0, column=2, sticky=(N, E, S, W), padx=0, pady=5) # Make Workflow Frame resizeable workflow_frame.grid(row=2, column=0, columnspan=3, sticky=(N, E, S, W), padx=20, pady=10) workflow_frame.rowconfigure(0, weight='1') for i in range(3): workflow_frame.columnconfigure(i, weight='1') # Run script/Close buttons close_button = ttk.Button(self, text='Close', command=lambda: parent.master.destroy()) bind_button(close_button) close_button.grid(row=3, column=0, sticky=(S, W), padx=20, pady=10) # Make resizeable for i in range(4): self.rowconfigure(i, weight='1') self.columnconfigure(1, weight='1')
from tkinter import * from tkinter import ttk from linkedlist import * from cqueue import * from stack import * #entry mainWindow = Tk() mainWindow.title("Task 1, Navoitsev Denis, IKBO-06-18") mainWindow.geometry("800x600") tab = ttk.Notebook(mainWindow) #task one tabList = ttk.Frame(tab) tab.add(tabList, text="Linear Monodirected List") tab.pack(expand=1, fill='both') #input fields inputFieldL = Entry(tabList, width=40, font=("Consolas", 18)) inputFieldL.grid(column=1, row=1) inputFieldL.focus() #info fields labelL = Label(tabList, text='Input int values:', font=("Consolas", 18)) labelL.grid(column=1, row=0) #list --init-- loclist = LinkedList() #input