def __init__(self, master): self.master = master "----------------------------Constant---------------------------------" Classeur = r'C:\Users\jlaqueyr\Documents\MyNoteBook\ScriptPython\BorneDefaut\Feuille.xlsx' FeuilleDefaut = r'Liste des saisies' LBL_Z_INFO = 'Information générale' LARGEUR_FRAME = 485 TITRE = 'Borne défaut' DIMENSION_FENETRE = '500x350+30+30' LBL_SFC = 'SFC' LBL_OPERATEUR = 'Nom' LBL_Z_LIGNE = 'Sur quel ligne est apparu le défaut ?' LBL_Z_DEF = 'Description du défaut' LBL_Z_DEF_INT = 'Intégration' LBL_Z_DEF_UFT = 'UFT et CADS' LBL_Z_DEF_ETI = 'Etiquettes' LBL_Z_DEF_CHOIX = "Choisir le défaut" NOM_LIGNE1 = 'Ligne Principale' NOM_LIGNE2 = 'Ligne Secondaire' PADX_INFO = 5 PADX_LBL_INFO = 5 PADY_INFO = 20 PADX_BTN_LIGNE = 40 PADY_BTN_LIGNE = 15 PADX_ZN_DEF = 5 PADY_ZN_DEF = 10 MSG_SAUV_TITRE = "Ticket sauvegardé" MSG_SAUV_CONTENU = "Ticket défaut sauvegardé" VAL_DEF_CHOIX = 'Choix X' nomOperateur = StringVar(master) sfc = StringVar(master) master.title(TITRE) master.geometry(DIMENSION_FENETRE) "---------------------------Fonction----------------------------------" def callback(*args): print("tkvar changed") popupMenu2.configure(state='disable') popupMenu3.configure(state='disable') def callback2(*args): print("tkvar changed 1") popupMenu1.configure(state='disable') popupMenu3.configure(state='disable') def callback3(*args): print("tkvar changed 2") popupMenu1.configure(state='disable') popupMenu2.configure(state='disable') def testDefaut(listeDefaut, valDefaut): breakpoint() defaut = "" for defaut in listeDefaut: if defaut != valDefaut: defFinal = defaut break else: pass return defFinal def RecupValeur(): ListeInfo = [] print(self.txtSfc.get(), self.txtNomOperateur.get(), Ligne1Var.get(), Ligne2Var.get(), self.tkvar.get()) listeLigne = [Ligne1Var.get(), Ligne2Var.get()] resultatLigne = testLigne(listeLigne, 'off') resultatSfc, ErrSfc = testSfc(sfc.get()) breakpoint() self.listeDef = [ self.tkvar.get(), self.tkvar1.get(), self.tkvar2.get() ] resultatDefaut = testDefaut(self.listeDef, VAL_DEF_CHOIX) ListeInfo = [ resultatSfc, self.txtNomOperateur.get(), resultatLigne, resultatDefaut ] sauvDonnee(Classeur, ListeInfo, FeuilleDefaut) self.txtSfc.delete(0, 'end') self.txtNomOperateur.delete(0, 'end') self.btnLigne1.deselect() self.btnLigne2.deselect() popupMenu1.configure(state='active') popupMenu1.selection_clear() popupMenu2.configure(state='active') popupMenu2.selection_clear() popupMenu3.configure(state='active') popupMenu3.selection_clear() messagebox.showinfo(MSG_SAUV_TITRE, MSG_SAUV_CONTENU) "------------------Information sur le produit-------------------------" self.ZoneInfoGen = LabelFrame(master, text=LBL_Z_INFO, width=LARGEUR_FRAME, height=80) self.ZoneInfoGen.grid(row=0, column=1, sticky=N + S + W + E) self.ZoneInfoGen.grid_propagate(0) self.lblSfc = Label(self.ZoneInfoGen, text=LBL_SFC) self.txtSfc = Entry(self.ZoneInfoGen, textvariable=sfc) self.txtSfc.focus_set() self.lblNomOperateur = Label(self.ZoneInfoGen, text=LBL_OPERATEUR) self.txtNomOperateur = Entry(self.ZoneInfoGen, textvariable=nomOperateur) self.lblSfc.grid(row=0, column=1, padx=PADX_LBL_INFO, pady=PADY_INFO) self.txtSfc.grid(row=0, column=2, ipadx=25, padx=PADX_INFO, pady=PADY_INFO) self.lblNomOperateur.grid(row=0, column=3, padx=PADX_LBL_INFO, pady=PADY_INFO) self.txtNomOperateur.grid(row=0, column=4, ipadx=25, padx=PADX_INFO, pady=PADY_INFO) "----------Information sur la ligne qui a produit le défaut-----------" self.ZoneLigne = LabelFrame(master, text=LBL_Z_LIGNE, width=LARGEUR_FRAME, height=80) self.ZoneLigne.grid(row=1, column=1) self.ZoneLigne.grid_propagate(0) Ligne1Var = StringVar(value="off") self.btnLigne1 = Radiobutton(self.ZoneLigne, text=NOM_LIGNE1, variable=Ligne1Var, indicatoron=False, value="Ligne1") Ligne2Var = StringVar(value="off") self.btnLigne2 = Radiobutton(self.ZoneLigne, text=NOM_LIGNE2, variable=Ligne2Var, indicatoron=False, value="Ligne2") self.btnLigne1.grid(row=0, column=1, ipadx=30, padx=PADX_BTN_LIGNE, pady=PADY_BTN_LIGNE) self.btnLigne2.grid(row=0, column=3, ipadx=30, padx=PADX_BTN_LIGNE, pady=PADY_BTN_LIGNE) if self.btnLigne2.state(): print(self.btnLigne2.state) if not self.btnLigne1.select(): print(self.btnLigne1.get()) "------------------Information sur le type de défaut-------------------" self.ZoneDefaut = LabelFrame(master, text=LBL_Z_DEF, width=LARGEUR_FRAME, height=130) self.ZoneDefaut.grid(row=2, column=1, sticky='NW') self.ZoneDefaut.grid_propagate(0) self.ZoneDefautInt = LabelFrame(self.ZoneDefaut, text=LBL_Z_DEF_INT, height=80, width=150) self.ZoneDefautInt.grid(row='0', column='1', padx=PADX_ZN_DEF, pady=PADY_ZN_DEF) self.ZoneDefautInt.grid_propagate(0) self.tkvar = StringVar(master) choices = {'Choix 1', 'Choix 2', 'Choix 3', 'Choix 4', 'Choix 5'} self.tkvar.set(VAL_DEF_CHOIX) popupMenu1 = OptionMenu(self.ZoneDefautInt, self.tkvar, *choices) Label(self.ZoneDefautInt, text=LBL_Z_DEF_CHOIX).grid(row=1, column=1) popupMenu1.grid(row=2, column=1, ipadx=30) self.ZoneDefautUFT = LabelFrame(self.ZoneDefaut, text=LBL_Z_DEF_UFT, height=80, width=150) self.ZoneDefautUFT.grid(row='0', column='2', padx=PADX_ZN_DEF, pady=PADY_ZN_DEF) self.ZoneDefautUFT.grid_propagate(0) self.tkvar1 = StringVar(master) choices = {'Choix 1', 'Choix 2', 'Choix 3', 'Choix 4', 'Choix 5'} self.tkvar1.set(VAL_DEF_CHOIX) popupMenu2 = OptionMenu(self.ZoneDefautUFT, self.tkvar1, *choices) Label(self.ZoneDefautUFT, text=LBL_Z_DEF_CHOIX).grid(row=1, column=1) popupMenu2.grid(row=2, column=1, ipadx=30) self.ZoneDefautEti = LabelFrame(self.ZoneDefaut, text=LBL_Z_DEF_ETI, height=80, width=150) self.ZoneDefautEti.grid(row='0', column='3', padx=PADX_ZN_DEF, pady=PADY_ZN_DEF) self.ZoneDefautEti.grid_propagate(0) self.tkvar2 = StringVar(master) choices = {'Choix 1', 'Choix 2', 'Choix 3', 'Choix 4', 'Choix 5'} self.tkvar2.set(VAL_DEF_CHOIX) popupMenu3 = OptionMenu(self.ZoneDefautEti, self.tkvar2, *choices) Label(self.ZoneDefautEti, text=LBL_Z_DEF_CHOIX).grid(row=1, column=1) popupMenu3.grid(row=2, column=1, ipadx=30) self.btnValider = Button(master, text="Valider", relief="raised", command=RecupValeur) self.btnValider.grid(row=3, column=1) self.tkvar.trace("w", callback) self.tkvar1.trace('w', callback2) self.tkvar2.trace('w', callback3)
def place_gui_definition_controls(self, frame2, MainWin ): # show option for Main Window or Dialog MainWin.mainOrDialog=StringVar() lbframe = LabelFrame(frame2, text="GUI Type") lbframe.pack(anchor=W) b = Radiobutton(lbframe, text="Main Window", value='main', variable=MainWin.mainOrDialog) b.pack(anchor=W) b = Radiobutton(lbframe, text="Dialog", value='dialog', variable=MainWin.mainOrDialog) b.pack(anchor=W) MainWin.mainOrDialog.set('main') self.mainOrDialog_traceName = MainWin.mainOrDialog.trace_variable("w", self.mainOrDialog_Callback) MainWin.hideOkChkBox = Checkbutton(lbframe, text="Hide OK Btn", width="15") MainWin.hideOkChkBox.pack(anchor=E, side=TOP) MainWin.hideOkChkBox_StringVar = StringVar() MainWin.hideOkChkBox_StringVar.set("no") MainWin.hideOkChkBox.configure(variable=MainWin.hideOkChkBox_StringVar, onvalue="yes", offvalue="no") self.hideOkChkBox_traceName = MainWin.hideOkChkBox_StringVar.trace_variable("w", self.hideOkChkBox_Callback) # show checkbox for menu and status bar lbframe = LabelFrame(frame2, text="Window Options") lbframe.pack(anchor=W) MainWin.menuChkBox = Checkbutton(lbframe, text="Main Menu", width="15") MainWin.menuChkBox.pack(anchor=W, side=TOP) MainWin.menuChkBox_StringVar = StringVar() MainWin.menuChkBox_StringVar.set("no") MainWin.menuChkBox.configure(variable=MainWin.menuChkBox_StringVar, onvalue="yes", offvalue="no") self.menuChkBox_traceName = MainWin.menuChkBox_StringVar.trace_variable("w", self.menuChkBox_Callback) MainWin.statusBarChkBox = Checkbutton(lbframe, text="Status Bar", width="15") MainWin.statusBarChkBox.pack(anchor=W, side=TOP) MainWin.statusBarChkBox_StringVar = StringVar() MainWin.statusBarChkBox_StringVar.set("no") MainWin.statusBarChkBox.configure(variable=MainWin.statusBarChkBox_StringVar, onvalue="yes", offvalue="no") self.statusBarChkBox_traceName = MainWin.statusBarChkBox_StringVar.trace_variable("w", self.statusBarChkBox_Callback) MainWin.resizableChkBox = Checkbutton(lbframe, text="Resizable", width="15") MainWin.resizableChkBox.pack(anchor=W, side=TOP) MainWin.resizableChkBox_StringVar = StringVar() MainWin.resizableChkBox_StringVar.set("yes") MainWin.resizableChkBox.configure(variable=MainWin.resizableChkBox_StringVar, onvalue="yes", offvalue="no") self.resizableChkBox_traceName = MainWin.resizableChkBox_StringVar.trace_variable("w", self.resizableChkBox_Callback) # show choices for standard dialogs lbframe = LabelFrame(frame2, text="Standard Dialogs") lbframe.pack(anchor=W) MainWin.stdDialMessChkBox = Checkbutton(lbframe, text="Messages", width="15") MainWin.stdDialMessChkBox.pack(anchor=E, side=TOP) MainWin.stdDialMessChkBox_StringVar = StringVar() MainWin.stdDialMessChkBox_StringVar.set("no") MainWin.stdDialMessChkBox.configure(variable=MainWin.stdDialMessChkBox_StringVar, onvalue="yes", offvalue="no") MainWin.stdDialColorChkBox = Checkbutton(lbframe, text="Color Choose", width="15") MainWin.stdDialColorChkBox.pack(anchor=E, side=TOP) MainWin.stdDialColorChkBox_StringVar = StringVar() MainWin.stdDialColorChkBox_StringVar.set("no") MainWin.stdDialColorChkBox.configure(variable=MainWin.stdDialColorChkBox_StringVar, onvalue="yes", offvalue="no") MainWin.stdDialFileChkBox = Checkbutton(lbframe, text="File Open/Save", width="15") MainWin.stdDialFileChkBox.pack(anchor=E, side=TOP) MainWin.stdDialFileChkBox_StringVar = StringVar() MainWin.stdDialFileChkBox_StringVar.set("no") MainWin.stdDialFileChkBox.configure(variable=MainWin.stdDialFileChkBox_StringVar, onvalue="yes", offvalue="no") MainWin.stdAlarmChkBox = Checkbutton(lbframe, text="Alarm Handler", width="15") MainWin.stdAlarmChkBox.pack(anchor=E, side=TOP) MainWin.stdAlarmChkBox_StringVar = StringVar() MainWin.stdAlarmChkBox_StringVar.set("no") MainWin.stdAlarmChkBox.configure(variable=MainWin.stdAlarmChkBox_StringVar, onvalue="yes", offvalue="no") # put color picker button self.ColorPickButton = Button(frame2, text="Put Color on Clipboard", width=18) self.ColorPickButton.pack(anchor=W, side=TOP) self.ColorPickButton.bind("<ButtonRelease-1>", self.ColorPickButton_Click) # put color picker button self.ColorPickButton = Button(frame2, text=" --> Named Color", width=18) self.ColorPickButton.pack(anchor=W, side=TOP) self.ColorPickButton.bind("<ButtonRelease-1>", self.NamedColorPickButton_Click) # put Font picker button self.FontPickButton = Button(frame2, text="Put Font on Clipboard", width=18) self.FontPickButton.pack(anchor=W, side=TOP) self.FontPickButton.bind("<ButtonRelease-1>", self.FontPickButton_Click) # put All widgets on notebook #self.PlaceAllWidgetsButton = Button(frame2, text="Debug All Widgets", width=18) #self.PlaceAllWidgetsButton.pack(anchor=W, side=TOP) #self.PlaceAllWidgetsButton.bind("<ButtonRelease-1>", self.PlaceAllWidgetsButton_Click) # append new row or column to current notebook tab add_frame = Frame( frame2 ) self.AddNewRowButton = Button(add_frame, text="Add Row", width=8) self.AddNewRowButton.pack(anchor=W, side=LEFT) self.AddNewRowButton.bind("<ButtonRelease-1>", self.AddNewRowButton_Click) self.AddNewColButton = Button(add_frame, text="Add Col", width=8) self.AddNewColButton.pack(anchor=W, side=LEFT) self.AddNewColButton.bind("<ButtonRelease-1>", self.AddNewColButton_Click) add_frame.pack(anchor=W, side=TOP) # dup_widget_label can be used for set_placement_widget_label, or widget duplication self.dup_widget_label_desc = Label(frame2, width=16) self.dup_widget_label_desc["text" ] = "\nduplicate widget\nand its properties" self.dup_widget_label_desc.pack(anchor=W) self.dup_widget_label = Label(frame2, width=16) self.dup_widget_label["text" ] = "\n\n" self.dup_widget_label["font" ] = ("Courier", 8, "normal") self.dup_widget_label["relief"] = "groove" self.dup_widget_label.pack(anchor=W) self.dup_widget_label_plain_bg = self.dup_widget_label["background"] self.dup_widget_label["background"] = "#FFFACD" # lemonchiffon
# Horizontal upper menu menu_upper = Menu(window) menu_file = Menu(menu_upper, tearoff=0) menu_upper.add_cascade(label='File', menu=menu_file) menu_file.add_command(label='Load audio file', command=load_audio_file) menu_file.add_command(label='Predict tags', command=predict_tags) menu_file.add_separator() menu_file.add_command(label='Exit', command=window.destroy) menu_help = Menu(menu_upper, tearoff=0) menu_upper.add_cascade(label='Help',menu=menu_help) menu_help.add_command(label='Help', command=window_help) menu_help.add_command(label='About', command=window_about) window.config(menu=menu_upper) # Dataset choice frame_dataset_choice = LabelFrame(window, text='Choose dataset', font=['TkDefaultFont', 9, 'bold'], labelanchor='n', width=25, padx=5, pady=5) frame_dataset_choice.grid(column=0, row=2, sticky='n') dataset_choice = IntVar() dataset_choice.set(0) Radiobutton(frame_dataset_choice, text='MagnaTagATune Dataset', variable=dataset_choice, value = 0, command=mtt_unlimited, width=22).grid(column=0, row=0) Radiobutton(frame_dataset_choice, text='Last.fm Dataset 2020', variable=dataset_choice, value = 1, command=lastfm_limited, width=22).grid(column=0, row=1) dataset_ntags = IntVar() dataset_ntags.set(50) frame_dataset_lastfm = LabelFrame(frame_dataset_choice, text='Choose number of tags', font=['TkDefaultFont', 9, 'bold'], labelanchor='n', width=16) frame_dataset_lastfm.grid(column=0, row=2, sticky='n') rbtn_50tags = Radiobutton(frame_dataset_lastfm, text='50', variable=dataset_ntags, value=50, width=5, state='disabled') rbtn_50tags.grid(column=0, row=0) rbtn_100tags = Radiobutton(frame_dataset_lastfm, text='100', variable=dataset_ntags, value=100, width=5, state='disabled') rbtn_100tags.grid(column=1, row=0) # Neural network choice
"""Simple button. Stand-alone example from Tk Assistant. stevepython.wordpress.com""" from tkinter import Button, LabelFrame, Tk root = Tk() root.title('Simple button') def clkd_btn(): """Button was clicked.""" print('clicked') main_frame = LabelFrame(root, text='Button') main_frame.grid(padx=20, pady=20) btn_one = Button(main_frame, bg='skyblue', text='Click Me', command=clkd_btn) btn_one.grid(pady=15, padx=15) root.mainloop()
Knocked this up to save time when I need a file selector in my Tkinter GUI. Added the execute file bit to make it a bit more interesting. """ from tkinter import filedialog, Tk, Button, Entry, LabelFrame import webbrowser root = Tk() root.title('File selector') def get_file(): """Get file from user and execute its linked app""" users_file = filedialog.askopenfilename(title='Please Select a file') entry1.delete(0, 'end') entry1.insert(0, users_file) webbrowser.open(users_file) frame1 = LabelFrame(root, text='Click browse to choose a file') frame1.grid(padx=20, pady=10) entry1 = Entry(frame1) entry1.grid(padx=5, pady=5) btn1 = Button(frame1, text='Browse', command=get_file) btn1.grid(row=0, column=1, padx=8, pady=15) root.mainloop
def __init__(self, master): self.master = master self.master.geometry("%dx%d-%d-%d" % (330, 302, 50, 80)) self.master.resizable(False, False) self.master.title( '%s/%s' % (ec2.configFile, ec2.profileName[ec2.profileName.rfind(' ') + 1:])) # === 建立圖形界面裡會顯示的變數 ======= self.startORstop = StringVar() self.showStatus = StringVar() self.makeConnection = StringVar() self.showFQDN = StringVar() self.showIP = StringVar() # === 建立開關機計數器變數 ======= self.counter = 0 # === 建立 [設定檔] === User Profile 框架 ======= self.userprofileFrame = LabelFrame(self.master, text='設定檔') # === 建立 [設定檔] instance ID 標籤與文字 ======= self.identiferLabel = Label(self.userprofileFrame, text='載入的 EC2 Inatance ID') self.identiferLabel.grid(row=0, column=0) self.identiferText = Entry(self.userprofileFrame) self.identiferText.grid(row=0, column=1) # === 建立 [設定檔] region 標籤與文字 ======= self.regionalLabel = Label(self.userprofileFrame, text='該 EC2 Inatance 的 Region') self.regionalLabel.grid(row=1, column=0) self.regionalText = Entry(self.userprofileFrame) self.regionalText.grid(row=1, column=1) # === 定位 [設定檔] 包裝 User Profile 框架 Frame ======= self.userprofileFrame.pack(padx=10, pady=5, ipadx=5, ipady=5) # === 插入 [EC2 的 instance ID 文字] 到文字框 ======= self.identiferText.insert(0, ec2.instanceID) # === 插入 [EC2 的 user region 文字] 到文字框 ======= self.regionalText.insert(0, ec2.userRegion) # === 建立 [開/關機] start/stop switch 按鈕 ======= self.switchButton = Button(self.master, textvariable=self.startORstop, width=10, command=self.switchbuttonClicked) # === 定位 [開/關機] start/stop switch 按鈕 ======= self.switchButton.pack(padx=10, pady=5) # === 建立 [目前狀態] instance state 框架 Frame ======= self.instancestatusFrame = LabelFrame(self.master, text='目前狀態') # === 建立 [目前狀態] instance state 標籤與文字 ======= self.machinestateLabel = Label(self.instancestatusFrame, text='目前的 EC2 Inatance 狀態') self.machinestateLabel.grid(row=0, column=0) self.machinestateText = Entry( self.instancestatusFrame, textvariable=self.showStatus) # 顯示 [EC2 Instance(虛擬機器) 的 State] self.machinestateText.grid(row=0, column=1) # === 定位 [目前狀態] 包裝 instance state 框架 Frame ======= self.instancestatusFrame.pack(padx=10, pady=5, ipadx=5, ipady=5) # === 建立 [細節] instance description 框架 Frame ======= self.statisticsFrame = LabelFrame(self.master, text='細節') # === 建立 [細節] instance fqdn 標籤與文字 ======= self.instanceFQDNLable = Label(self.statisticsFrame, text='目前 EC2 Inatance 的 FQDN') self.instanceFQDNLable.grid(row=0, column=0) self.instanceFQDNNameText = Entry( self.statisticsFrame, textvariable=self.showFQDN) # 顯示 [EC2 Instance(虛擬機器) 的 FQDN] self.instanceFQDNNameText.grid(row=0, column=1) # === 建立 [細節] instance ip addr 標籤與文字 ======= self.instanceIPaddrLable = Label(self.statisticsFrame, text='目前 EC2 Inatance 的 IP') self.instanceIPaddrLable.grid(row=1, column=0) self.instanceIPaddrText = Entry( self.statisticsFrame, textvariable=self.showIP) # 顯示 [EC2 Instance(虛擬機器) 的 IP] self.instanceIPaddrText.grid(row=1, column=1) # === 定位 [細節] 包裝 instance description 框架 Frame ======= self.statisticsFrame.pack(padx=10, pady=5, ipadx=5, ipady=5) # === 建立 [連線伺服器] make connection 按鈕 ======= self.connectButton = Button(self.master, textvariable=self.makeConnection, width=10, command=self.connectbuttonClicked) # === 定位 [連線伺服器] make connection 按鈕 ======= self.connectButton.pack(padx=10, pady=5) # === 更新所有顯示變數 ======= self.variablesRefreshing()
def __init__(self, root): root.geometry("450x300+300+200") root.resizable(False, False) root.title("Key speed") # ___________Global__________________________________________________ 72 # ошибок self.check_int = 0 self.check_str = StringVar() self.check_str.set(None) # кол-во backspace self.repair_str = StringVar() self.repair_str.set(None) self.repair_int = 0 # time self.time_start = float() self.ans_time = float() self.ans_time_str = StringVar() self.ans_time_str.set(None) # вывод текста self.txt_var = StringVar() self.txt_var_str = str() self.txt_var.set( 'Put the cursor on the input field.' + 'After clicking start,' + 'the text will be here and the time report will start.' + 'Сlicking Enter to complete text entry.' + 'Enter the name to save the result.') # ________________CREATE_____________________________________________ 72 # Label = create frame_list = LabelFrame(root, text='Text') self.l_text = Label(frame_list, textvariable=self.txt_var, font='Arial 10', wraplength='80m') self.l_error = Label(frame_list, textvariable=self.repair_str, font='Arial 13') # entry = create self.e_input = Entry(frame_list, width=55) # button = create frame_butt = Frame(root) self.b_start = Button(frame_butt, command=self.start, text='Start') # 1 — запуск игры, self.b_look_hist = Button(frame_butt, command=self.history_look, text='History') # 2 — просмотр истории игр. self.b_clear = Button(frame_butt, command=self.clear, text='Clear') # Clear Global variable # Result grop_ans = LabelFrame(root, text='Result') self.ent_name = Entry(grop_ans, width=20) self.labl_ans_time = Label(grop_ans, textvariable=self.ans_time_str) self.labl_check = Label(grop_ans, textvariable=self.check_str) self.labl_repair = Label(grop_ans, textvariable=self.repair_str) self.b_save = Button(root, command=self.history_save, text='Save') # BIND self.e_input.bind("<BackSpace>", self.repair_text) self.e_input.bind("<Return>", self.check_input) # _____________PACK__________________________________________________ 72 # frame_list frame_list.pack(padx=3, pady=3) self.l_text.pack(padx=5, pady=5) self.l_error.pack(padx=3, pady=3, side='right') self.e_input.pack(padx=5, pady=5) # frame_button frame_butt.pack(padx=3, pady=3) self.b_start.pack(padx=5, pady=5, side='left') self.b_look_hist.pack(padx=5, pady=5, side='left') self.b_clear.pack(padx=5, pady=5, side='left') # grop_ans grop_ans.pack() Label(grop_ans, text='Name | Word/time | Error | Repair', font='Arial 10').pack() self.ent_name.pack(padx=5, pady=5, side='left') self.labl_ans_time.pack(padx=5, pady=5, side='left') self.labl_check.pack(padx=5, pady=5, side='left') self.labl_repair.pack(padx=5, pady=5, side='left') self.b_save.pack(padx=5, pady=5)
def __init__(self): super().__init__() self.wait = BooleanVar() self.wait.set(False) self.relance_de = [] self.title("Poker d'As") self.frame_player1 = LabelFrame(self, text="Player 1", padx=20, pady=20) self.frame_player1.grid(row=1, column=1) self.player1 = Label( self.frame_player1, text= "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:", justify="left") self.player1.grid() self.frame_player2 = LabelFrame(self, text="Player 2", padx=20, pady=20) self.frame_player2.grid(row=2, column=1) self.player2 = Label( self.frame_player2, text= "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:", justify="left") self.player2.grid() self.frame_player3 = LabelFrame(self, text="Player 3", padx=20, pady=20) self.frame_player3.grid(row=3, column=1) self.player3 = Label( self.frame_player3, text= "Combinaison:\nLancés_restants:\nRésultat:\nPourcentage de parties gagnées:\nParties jouées:", justify="left") self.player3.grid() self.joueur_interface = [(self.frame_player1, self.player1), (self.frame_player2, self.player2), (self.frame_player3, self.player3)] self.tour_a = Label(self, text="C'est au tour de ", justify="center") self.tour_a.grid(row=1, column=2, columnspan=5) self.lance_a_faire = Label(self, text="Tour: 0/0", justify="center") self.lance_a_faire.grid(row=1, column=7, columnspan=4) frame1 = Frame(self, borderwidth=2, relief=GROOVE).grid(row=2, column=2) self.de_1 = Button(frame1, text="0", width=3, height=2, command=lambda: self.buttom_action(0), padx=5, pady=5) self.de_1.grid(row=2, column=3) self.de_2 = Button(frame1, text="1", width=3, height=2, command=lambda: self.buttom_action(1), padx=5, pady=5) self.de_2.grid(row=2, column=4) self.de_3 = Button(frame1, text="2", width=3, height=2, command=lambda: self.buttom_action(2), padx=5, pady=5) self.de_3.grid(row=2, column=5) self.de_4 = Button(frame1, text="3", width=3, height=2, command=lambda: self.buttom_action(3), padx=5, pady=5) self.de_4.grid(row=2, column=6) self.de_5 = Button(frame1, text="4", width=3, height=2, command=lambda: self.buttom_action(4), padx=5, pady=5) self.de_5.grid(row=2, column=7) self.de_buttom = [ self.de_1, self.de_2, self.de_3, self.de_4, self.de_5 ] Button(self, text="Nouvelle Partie", command=self.nouvelle_partie).grid(row=4, column=6, columnspan=4) self.blancer = Button(self, command=self.relance, text="Garder/Lancer dés") self.blancer.grid(row=3, column=2, columnspan=3) self.tour = Button(self, text="Tour suivant", command=self.next_game) self.tour.grid(row=4, column=2, columnspan=3) self.sauvegarde = Button(self, text="Sauvegarde", command=self.fonction_sauvegarde) self.sauvegarde.grid(row=3, column=6, columnspan=4) self.menu = menu(self)
convert_to_txt_button.place(relx=0.1, rely=0.72, relwidth=0.32, height=20) def change_mode(mode_str): global current_mode current_mode = mode_str print("Current mode: " + current_mode) sys.stdout.flush() if current_mode == "M1": convert_to_txt_button['text'] = "Convert Txt-Pack to TXT" elif current_mode == "M2": convert_to_txt_button['text'] = "Convert TXT to Txt-Pack" mode_frame = LabelFrame(main_frame, text="Select Mode", padx=5, pady=5) mode_frame['bg'] = mode_frame.master['bg'] mode_frame.place(relx=0.5, rely=0.6, relwidth=0.28, relheight=0.34) v = StringVar() v.set("M1") radio_b_1 = Radiobutton(mode_frame, text="Txt-Pack to TXT", variable=v, value="M1", bg="light blue", command=lambda: change_mode("M1")).pack() radio_b_2 = Radiobutton(mode_frame, text="TXT to Txt-Pack", variable=v, value="M2", bg="light blue",
def __init__(self, controller): super().__init__(padx=10, pady=10) self.update() self.deiconify() self.resizable(False, False) self.controller = controller self.range_spinBox = models_app.range_freq() self.range_spinBox.load() self.buttonCancel = ttk.Button(self, command=self.cancel_config, text='Cancelar') self.buttonCancel.grid(row=3, column=0, sticky='WEN', padx=11) self.frame1 = LabelFrame(self, text='Experimento da onda na corda') self.frame1.grid(row=1, column=0, padx=11, pady=11, ipady=11, sticky='N') self.label_frame1 = ttk.Label(self.frame1, text='Alterar resolução da frequência:') self.label_frame1.grid(column=0, row=0, columnspan=2) self.label_spinbox1_frame1 = ttk.Label( self.frame1, text='Frequencia inicial: (Hz) ') self.label_spinbox1_frame1.grid(row=1, column=0) self.spinbox1_frame1 = Spinbox(self.frame1, from_=self.range_spinBox.corda_from, to=self.range_spinBox.corda_to) self.spinbox1_frame1.grid(column=0, row=2, pady=10, padx=11) self.label_spinbox2_frame1 = ttk.Label(self.frame1, text='Frequencia final: (Hz) ') self.label_spinbox2_frame1.grid(row=1, column=1) self.spinbox2_frame1 = Spinbox(self.frame1, from_=self.range_spinBox.corda_from, to=self.range_spinBox.corda_to) self.spinbox2_frame1.grid(column=1, row=2, pady=10, padx=11) self.spinbox2_frame1.delete(0, "end") self.spinbox2_frame1.insert(0, str(self.range_spinBox.corda_to)) self.button1_frame1 = ttk.Button(self.frame1, text='Salvar alterações', command=self.save_config) self.button1_frame1.grid(row=3, column=0, pady=10, padx=11, sticky='we') self.button2_frame1 = ttk.Button(self.frame1, text='Restaurar valores padrão', command=self.restore_config_corda) self.button2_frame1.grid(row=3, column=1, pady=10, padx=11, sticky='we') self.frame2 = LabelFrame(self, text='Experimento da onda na superfície') self.frame2.grid(row=2, column=0, padx=11, pady=11, ipady=11, sticky='N') self.label_frame2 = ttk.Label(self.frame2, text='Alterar resolução da frequência:') self.label_frame2.grid(column=0, row=0, columnspan=2) self.label_spinbox1_frame2 = ttk.Label( self.frame2, text='Frequencia inicial: (Hz) ') self.label_spinbox1_frame2.grid(row=1, column=0) self.spinbox1_frame2 = Spinbox(self.frame2, from_=self.range_spinBox.sup_from, to=self.range_spinBox.sup_to) self.spinbox1_frame2.grid(column=0, row=2, pady=10, padx=11) self.label_spinbox2_frame2 = ttk.Label(self.frame2, text='Frequencia final: (Hz) ') self.label_spinbox2_frame2.grid(row=1, column=1) self.spinbox2_frame2 = Spinbox(self.frame2, from_=self.range_spinBox.sup_from, to=self.range_spinBox.sup_to) self.spinbox2_frame2.grid(column=1, row=2, pady=10, padx=11) self.spinbox2_frame2.delete(0, "end") self.spinbox2_frame2.insert(0, str(self.range_spinBox.sup_to)) self.button1_frame2 = ttk.Button(self.frame2, text='Salvar alterações', command=self.save_config) self.button1_frame2.grid(row=3, column=0, pady=10, padx=11, sticky='we') self.button2_frame2 = ttk.Button(self.frame2, text='Restaurar valores padrão', command=self.restore_config_sup) self.button2_frame2.grid(row=3, column=1, pady=10, padx=11, sticky='we') self.padroesView = padroes_view(self, self.controller) self.padroesView.grid(row=1, column=1, rowspan=10)
def winnat(root,data): # main function def close_all(): for widget in frm2.winfo_children(): widget.destroy() root.quit() root.destroy() root.grab_release() return root.protocol('WM_DELETE_WINDOW', close_all) gr_list=natone(data[-1]) # getting list data, data[-1] is the hyperlink font1 = tkf.Font(family="times",size=16,weight="bold") #region frames frm1=LabelFrame(root) # country name frm1.grid(row=0,column=0,columnspan=2,sticky='nsew') Label(frm1,text=data[0],font='times 32 underline').pack() frm3=LabelFrame(root,bg='white')#total case frm3.grid(row=1,column=0,sticky='we') Label(frm3,text=data[1],fg='#00ECFF',bg='white', font=font1).pack(side=BOTTOM) Label(frm3,text='Total Case',font=font1,bg='white').pack(side=TOP) frm4=LabelFrame(root,bg='white')#total death frm4.grid(row=2,column=0,sticky='we') Label(frm4,text='{} ({}%)'.format(data[2],round(data[2]*100/data[1],2)), bg='white',fg='red',font=font1).pack(side=BOTTOM) Label(frm4,text='Total Death', font=font1,bg='white').pack(side=TOP) frm5=LabelFrame(root,bg='white')#total recovery frm5.grid(row=3,column=0,sticky='we') Label(frm5,text='{} ({}%)'.format(data[3],round(data[3]*100/data[1],2)), bg='white',fg='#AAE34D',font=font1).pack(side=BOTTOM) Label(frm5,text='Total Recovery', font=font1,bg='white').pack(side=TOP) frm6=LabelFrame(root,bg='white')#active case frm6.grid(row=4,column=0,sticky='we') Label(frm6,text='{} ({}%)'.format(data[4],round(data[4]*100/data[1],2)), bg='white',fg='#CDCDCD',font=font1).pack(side=BOTTOM) Label(frm6,text='Active Cases', font=font1,bg='white').pack(side=TOP) frm7=LabelFrame(root,bg='white')#total cases per mil frm7.grid(row=5,column=0,sticky='we') Label(frm7,text=data[5],bg='white',fg='#00ECFF',font=font1).pack(side=BOTTOM) Label(frm7,text='Total Cases/1M',font=font1,bg='white').pack(side=TOP) frm8=LabelFrame(root,bg='white')#toatl death per mil frm8.grid(row=6,column=0,sticky='we') Label(frm8,text=data[6],bg='white',fg='red',font=font1).pack(side=BOTTOM) Label(frm8,text='Death/1M',font=font1,bg='white').pack(side=TOP) frm9=LabelFrame(root,bg='white')#total tests frm9.grid(row=7,column=0,sticky='we') Label(frm9,text=data[7],bg='white',fg='#00ECFF',font=font1).pack(side=BOTTOM) Label(frm9,text='Total Tets',font=font1,bg='white').pack(side=TOP) frm10=LabelFrame(root,bg='white')#tests per mil frm10.grid(row=8,column=0,sticky='we') Label(frm10,text=data[8],bg='white',fg='#CDCDCD',font=font1).pack(side=BOTTOM) Label(frm10,text='Test/1M',font=font1,bg='white').pack(side=TOP) frm11=LabelFrame(root,bg='white')#population frm11.grid(row=9,column=0,sticky='we') Label(frm11,text=data[9],bg='white',fg='#CDCDCD',font=font1).pack(side=BOTTOM) Label(frm11,text='Population',font=font1,bg='white').pack(side=TOP) #endregion wrap2=LabelFrame(root,bg='white') # large container for the charts wrap2.grid(row=1,column=1,rowspan=9,sticky='nsew') cnv=Canvas(wrap2,width=1000,height=500) cnv.pack(side=LEFT,fill=BOTH,expand=1) frm2=Frame(cnv) # effective frame for i in gr_list: if 'daily' in i[0].lower(): fig1=bargr(i[1],i[2],i[0]) else: fig1=linegr(i[1],i[2],i[0]) cnv1=FigureCanvasTkAgg(fig1, master=frm2) cnv1.get_tk_widget().pack(side=TOP,anchor=N) cnv1.draw() scrollbar=Scrollbar(wrap2,command=cnv.yview) scrollbar.pack(side=RIGHT,fill=Y) cnv.configure(bg='white',yscrollcommand=scrollbar.set) # setting the scrollbar cnv.bind("<Configure>",lambda e: cnv.configure(scrollregion=cnv.bbox("all"))) cnv.create_window((0,0),window=frm2,anchor=NW) root.mainloop()
# Tk function to close the program window def close_window(): top.destroy() # Main script to initialize program window and # it's interactive elements and labels global top global output_area global output_message if __name__ == '__main__': top = tkinter.Tk() labelframe = LabelFrame(top, width=600, height=600, text="ENCRYPTION MODULE 1.0") labelframe.pack() left = Label(labelframe, text="Use the buttons below to encrypt/decrypt log") left.pack() encrypt_button = Button(top, text="Encrypt", command=e) encrypt_button.pack() decrypt_button = Button(top, text="Decrypt", command=d) decrypt_button.pack() quit_button = Button(top, text="Quit", command=close_window) quit_button.pack() output_area = LabelFrame(top, width=200, height=100) output_area.pack() output_message = Label(output_area, text="Ready") output_message.pack()
def __init__(self, root): self.root = root self.root.title("Resitro de Altura") self.root.config(bg="#7C3E48") self.Nombre = StringVar() self.Altura = StringVar() self.Peso = StringVar() # ENCABEZADO DEL PROGRAMA encabezado = Label(root, text="Registro de Altura", width=50, font=('arial', 16, 'bold'), bg='#477038') encabezado.grid(row=0, column=0, columnspan=2) # FRAME frame = LabelFrame( self.root, text='Ingreso de Datos', bg="#7C3E48", padx=20, pady=20, ) frame.grid(row=1, column=0, columnspan=3, pady=20, sticky='W') frame1 = LabelFrame(self.root, text='Controles', bg="#7C3E48", padx=20, pady=20) frame1.grid(row=1, column=1, columnspan=2, pady=20, padx=10, sticky='E') frame3 = LabelFrame(self.root, text='Lista de datos', bg='#7C3E48') frame3.grid(row=2, column=0, columnspan=2, pady=20, padx=10) # LABELS label_nom = Label(frame, text='Nombre:', font=('arial', 12, 'bold'), bg="#7C3E48") label_alt = Label(frame, text='Altura:', font=('arial', 12, 'bold'), bg="#7C3E48") label_pes = Label(frame, text='Peso:', font=('arial', 12, 'bold'), bg="#7C3E48") # GRID LABEL label_nom.grid(row=0, column=0, sticky='W') label_alt.grid(row=1, column=0, sticky='W') label_pes.grid(row=2, column=0, sticky='W') # ENTRY e_nom = Entry(frame, width=40, textvariable=self.Nombre) e_alt = Entry(frame, width=40, textvariable=self.Altura) e_pes = Entry(frame, width=40, textvariable=self.Peso) # ENTRY GRID e_nom.grid(row=0, column=1) e_alt.grid(row=1, column=1) e_pes.grid(row=2, column=1) # BOTONES DE LA APLICACIONES btn_guardar = Button(frame1, text='Guardar', padx=5, pady=5, bg='#836F41', command=self.AgregarDatos) btn_mostrar = Button(frame1, text='Mostrar Base', padx=5, pady=5, bg='#836F41', command=self.obtener_productos) btn_limpiar = Button(frame1, text='Limpiar', padx=5, pady=5, bg='#836F41') btn_borrar = Button(frame1, text='Borrar dato', padx=5, pady=5, bg='#836F41', command=self.borrar_dato) btn_cerrar = Button(frame1, text='Cerrar Aplicacion', padx=5, pady=5, bg='#836F41', width=15, command=self.root.destroy) # GRID DE BOTONES btn_guardar.grid(row=0, column=0) btn_mostrar.grid(row=0, column=1) btn_limpiar.grid(row=1, column=0) btn_borrar.grid(row=1, column=1) btn_cerrar.grid(row=3, column=0, columnspan=2) # LISTA DE LA BASE DE DATOS self.tree = ttk.Treeview(frame3, height=10, column=('#0', '#1')) self.tree.grid(row=4, column=0) self.tree.heading('#0', text="Nombre", anchor=CENTER) self.tree.heading('#1', text="Altura", anchor=CENTER) self.tree.heading('#2', text="Peso", anchor=CENTER) # Lista de ejecuciones self.CrearBBDD() self.obtener_productos()
plyr_credits = 100 plyr_winnings = 0 plyr_stake = 1 ranks = '' stake_btn = None suits = '' # GUI. root = Tk() root.title('The Poker Machine V1.1') #root.geometry('399x523'): not needed # Frame for pay table display. pay_table_frame = LabelFrame(root) pay_table_frame.grid(row=0, column=0) # Load in and display paytable image. pay_table_lbl = Label(pay_table_frame) PHOTO = PhotoImage(file=r'cards/pay-table-bg-386x200.png') pay_table_lbl.config(image=PHOTO) pay_table_lbl.grid(row=0, column=0, padx=2, pady=2) pay_table_lbl.photo = PHOTO # Frame for messages display. msg_frame = LabelFrame(root) msg_frame.grid(row=1, column=0) # Startup message. msg_lbl = Label(msg_frame, font=('Helvetica', 10, 'bold'),
def __init__(self, *args, **kwargs): pygame.mixer.init() t_pth = os.getcwd() pygame.mixer.music.load(r'{}\music\bg.mp3'.format(t_pth)) pygame.mixer.music.set_volume(1) pygame.mixer.music.play(loops=-1) # root initialization super().__init__(*args, **kwargs) self.resizable(False, False) self.x = self.winfo_screenwidth() // 2 self.y = self.winfo_screenheight() // 2 self.xx = (self.x - (self.x // 2)) // 2 self.yy = (self.y - (self.y // 2)) // 2 self.iconbitmap('favicon.ico') self.title('Automate Watermark on Images') self.focus() self.geometry('{}x{}+{}+{}'.format(self.x, self.y, self.xx, self.yy)) # Heading self.lbl_head = LabelFrame(self, bg='#005082', fg="#fff", relief=tk.RAISED) self.lbl_head.grid(row=0, padx=self.xx // 1.88, pady=self.yy // 8) Label(self.lbl_head, bg='#005082', fg="#fff", text='RadientBrain Watermark System', font=('TkDefaultFont', 16)).grid(row=0, padx=self.xx // 2, pady=self.yy // 8) # Source DIR self.lbl_src = LabelFrame(self, bg='#005082', fg="#fff", text='Choose Images Source Directory', relief=tk.RIDGE, labelanchor="n") self.lbl_src.grid(row=1, column=0, padx=self.xx // 4, pady=self.yy // 8) self.src_dir = Button(self.lbl_src, bg='#005082', fg="#fff", text='Open', command=self.open_src, relief=tk.RAISED) self.src_dir.grid(sticky="n e w s", row=0, padx=self.xx // 2, pady=self.yy // 4) # Watermark DIR self.wtrmk = LabelFrame(self, bg='#005082', fg="#fff", text='Choose Watermark Image', relief=tk.RIDGE, labelanchor="n") self.wtrmk.grid(row=2, column=0, padx=self.xx // 4, pady=self.yy // 8) self.wtrmk_btn = Button(self.wtrmk, bg='#005082', fg="#fff", text='Open', command=self.open_wtrmk_dir, relief=tk.RAISED) self.wtrmk_btn.grid(sticky="n e w s", row=0, padx=self.xx // 2, pady=self.yy // 4) #Start Process self.lbl_start = LabelFrame(self, bg='#005082', fg="#fff", relief=tk.RIDGE, labelanchor="n", bd=0) self.lbl_start.grid(row=3, column=0) self.start_btn = Button(self.lbl_start, bg='#005082', fg="#fff", text='Start Process', command=self.start_process, relief=tk.RAISED) self.start_btn.grid(sticky="n e w s", row=0, column=0, padx=self.xx // 32) #Next Process self.next_btn = Button(self.lbl_start, bg='#005082', fg="#fff", text='Next Process', command=self.next_process, relief=tk.RAISED) self.next_btn.grid(sticky="n e w s", row=0, column=1, padx=self.xx // 32) try: os.remove(f"{os.getcwd()}/wtrmk_dir/logo.png") except Exception as e: self.next_process() try: folder = f"{os.getcwd()}/dst_photos" for filename in os.listdir(folder): file_path = os.path.join(folder, filename) try: if os.path.isfile(file_path) or os.path.islink(file_path): os.unlink(file_path) elif os.path.isdir(file_path): shutil.rmtree(file_path) except Exception as e: print('Failed to delete %s. Reason: %s' % (file_path, e)) except Exception as e: self.next_process()
def __init__(self, master): self.initComplete = 0 self.master = master self.x, self.y, self.w, self.h = -1, -1, -1, -1 # bind master to <Configure> in order to handle any resizing, etc. # postpone self.master.bind("<Configure>", self.Master_Configure) self.master.bind('<Enter>', self.bindConfigure) self.master.title("PyHatch GUI") self.master.resizable(0, 0) # Linux may not respect this dialogframe = Frame(master, width=810, height=630) dialogframe.pack() self.Shortdesc_Labelframe = LabelFrame( dialogframe, text="Short Description (1-liner)", height="90", width="718") self.Shortdesc_Labelframe.place(x=60, y=127) helv20 = tkinter.font.Font(family='Helvetica', size=20, weight='bold') self.Buildproject_Button = Button(dialogframe, text="Build Project", width="15", font=helv20) self.Buildproject_Button.place(x=492, y=10, width=263, height=68) self.Buildproject_Button.bind("<ButtonRelease-1>", self.Buildproject_Button_Click) self.Selectdir_Button = Button(dialogframe, text="<Select Directory>", width="15") self.Selectdir_Button.place(x=72, y=585, width=672, height=31) self.Selectdir_Button.bind("<ButtonRelease-1>", self.Selectdir_Button_Click) self.Author_Entry = Entry(dialogframe, width="15") self.Author_Entry.place(x=228, y=424, width=187, height=21) self.Author_Entry_StringVar = StringVar() self.Author_Entry.configure(textvariable=self.Author_Entry_StringVar) self.Author_Entry_StringVar.set("John Doe") self.Classname_Entry = Entry(dialogframe, width="15") self.Classname_Entry.place(x=192, y=73, width=165, height=21) self.Classname_Entry_StringVar = StringVar() self.Classname_Entry.configure( textvariable=self.Classname_Entry_StringVar) self.Classname_Entry_StringVar.set("MyClass") self.Copyright_Entry = Entry(dialogframe, width="15") self.Copyright_Entry.place(x=228, y=478, width=461, height=21) self.Copyright_Entry_StringVar = StringVar() self.Copyright_Entry.configure( textvariable=self.Copyright_Entry_StringVar) self.Copyright_Entry_StringVar.set("Copyright (c) 2013 John Doe") self.Email_Entry = Entry(dialogframe, relief="sunken", width="15") self.Email_Entry.place(x=228, y=505, width=458, height=21) self.Email_Entry_StringVar = StringVar() self.Email_Entry.configure(textvariable=self.Email_Entry_StringVar) self.Email_Entry_StringVar.set("*****@*****.**") self.GithubUserName_Entry = Entry(dialogframe, relief="sunken", width="15") self.GithubUserName_Entry.place(x=228, y=539, width=458, height=21) self.GithubUserName_Entry_StringVar = StringVar() self.GithubUserName_Entry.configure( textvariable=self.GithubUserName_Entry_StringVar) self.GithubUserName_Entry_StringVar.set("github_user_name") self.Funcname_Entry = Entry(dialogframe, width="15") self.Funcname_Entry.place(x=192, y=100, width=157, height=21) self.Funcname_Entry_StringVar = StringVar() self.Funcname_Entry.configure( textvariable=self.Funcname_Entry_StringVar) self.Funcname_Entry_StringVar.set("my_function") # License values should be correct format LICENSE_OPTIONS = tuple(sorted(CLASSIFIER_D.keys())) self.License_Entry_StringVar = StringVar() self.License_Entry = OptionMenu(dialogframe, self.License_Entry_StringVar, *LICENSE_OPTIONS) self.License_Entry.place(x=552, y=424, width=184, height=21) self.License_Entry_StringVar.set(LICENSE_OPTIONS[0]) self.Mainpyname_Entry = Entry(dialogframe, width="15") self.Mainpyname_Entry.place(x=168, y=37, width=196, height=21) self.Mainpyname_Entry_StringVar = StringVar() self.Mainpyname_Entry.configure( textvariable=self.Mainpyname_Entry_StringVar) self.Mainpyname_Entry_StringVar.set("main.py") self.Projname_Entry = Entry(dialogframe, width="15") self.Projname_Entry.place(x=168, y=10, width=194, height=21) self.Projname_Entry_StringVar = StringVar() self.Projname_Entry.configure( textvariable=self.Projname_Entry_StringVar) self.Projname_Entry_StringVar.set("MyProject") self.Shortdesc_Entry = Entry(dialogframe, width="15") self.Shortdesc_Entry.place(x=72, y=150, width=688, height=48) self.Shortdesc_Entry_StringVar = StringVar() self.Shortdesc_Entry.configure( textvariable=self.Shortdesc_Entry_StringVar) self.Shortdesc_Entry_StringVar.set("My project does this") # Status must be correct format self.Status_Entry_StringVar = StringVar() self.Status_Entry = OptionMenu(dialogframe, self.Status_Entry_StringVar, *DEV_STATUS_OPTIONS) self.Status_Entry.place(x=228, y=451, width=183, height=21) self.Status_Entry_StringVar.set(DEV_STATUS_OPTIONS[0]) self.Version_Entry = Entry(dialogframe, width="15") self.Version_Entry.place(x=552, y=451, width=184, height=21) self.Version_Entry_StringVar = StringVar() self.Version_Entry.configure(textvariable=self.Version_Entry_StringVar) self.Version_Entry_StringVar.set("0.1.1") self.Author_Label = Label(dialogframe, text="Author", width="15") self.Author_Label.place(x=96, y=424, width=112, height=22) self.Classname_Label = Label(dialogframe, text="Class Name", width="15") self.Classname_Label.place(x=60, y=73, width=112, height=22) self.Copyright_Label = Label(dialogframe, text="Copyright", width="15") self.Copyright_Label.place(x=96, y=478, width=113, height=23) self.Email_Label = Label(dialogframe, text="Email", width="15") self.Email_Label.place(x=96, y=505, width=113, height=23) self.GithubUserName_Label = Label(dialogframe, text="GithubUserName", width="15") self.GithubUserName_Label.place(x=96, y=539, width=113, height=23) self.Funcname_Label = Label(dialogframe, text="Function Name", width="15") self.Funcname_Label.place(x=60, y=100, width=112, height=22) self.License_Label = Label(dialogframe, text="License", width="15") self.License_Label.place(x=432, y=424, width=113, height=23) self.Longdesc_Label = Label(dialogframe, text="Paragraph Description", width="15") self.Longdesc_Label.place(x=216, y=220, width=376, height=22) self.Mainpyname_Label = Label(dialogframe, text="Main Python File", width="15") self.Mainpyname_Label.place(x=48, y=37, width=112, height=22) self.Projname_Label = Label(dialogframe, text="Project Name", width="15") self.Projname_Label.place(x=48, y=10, width=112, height=22) self.Selectdir_Label = Label( dialogframe, text="Select the Directory Below Which to Place Your Project", width="15") self.Selectdir_Label.place(x=156, y=567, width=536, height=24) self.Status_Label = Label(dialogframe, text="Status", width="15") self.Status_Label.place(x=96, y=451, width=114, height=24) self.Version_Label = Label(dialogframe, text="Version", width="15") self.Version_Label.place(x=432, y=451, width=113, height=23) self.Isclass_Radiobutton = Radiobutton(dialogframe, text="Class Project", value="Class Project", width="15", anchor=W) self.Isclass_Radiobutton.place(x=320, y=73, width=135, height=27) self.RadioGroup1_StringVar = StringVar() self.RadioGroup1_StringVar.set("Class Project") self.RadioGroup1_StringVar_traceName = \ self.RadioGroup1_StringVar.trace_variable("w", self.RadioGroup1_StringVar_Callback) self.Isclass_Radiobutton.configure(variable=self.RadioGroup1_StringVar) self.Isfunction_Radiobutton = Radiobutton(dialogframe, text="Function Project", value="Function Project", width="15", anchor=W) self.Isfunction_Radiobutton.place(x=320, y=100, width=135, height=27) self.Isfunction_Radiobutton.configure( variable=self.RadioGroup1_StringVar) lbframe = Frame(dialogframe) self.Text_1_frame = lbframe scrollbar = Scrollbar(lbframe, orient=VERTICAL) self.Text_1 = Text(lbframe, width="40", height="6", yscrollcommand=scrollbar.set) scrollbar.config(command=self.Text_1.yview) scrollbar.pack(side=RIGHT, fill=Y) self.Text_1.pack(side=LEFT, fill=BOTH, expand=1) self.Text_1_frame.place(x=72, y=250, width=665, height=160) # >>>>>>insert any user code below this comment for section "top_of_init" self.dirname = '<Select Directory>' self.Funcname_Entry.config(state=DISABLED) h = Hatch(projName='MyProject', mainDefinesClass='N') if h.author: self.Author_Entry_StringVar.set(h.author) if h.proj_license: self.License_Entry_StringVar.set(h.proj_license) if h.proj_copyright: self.Copyright_Entry_StringVar.set(h.proj_copyright) if h.email: self.Email_Entry_StringVar.set(h.email) if h.github_user_name: self.GithubUserName_Entry_StringVar.set(h.github_user_name) del h
Label(CategoryPage, text='', width=30, bg='green').grid(row=0, column=0, pady=5) Label(CategoryPage, text=' CATEGORIES ', width=40).grid(row=0, column=1, pady=5) Label(CategoryPage, text='', width=30, bg='red').grid(row=0, column=2, pady=5) Label(CategoryPage, text="Quel aliment souhaitez-vous remplacer ? :").grid(row=1, column=1, pady=30) choiceNumber = StringVar() Entry(CategoryPage, textvariable=choiceNumber, width=4).grid(row=2, column=1, pady=15) LabelFrame(CategoryPage, text="Catégories", bd=1).grid(padx=10, pady=10) Button(CategoryPage, text='VALIDER', command=lambda: get_first_list(choiceNumber.get())).grid(row=3, column=1, pady=5) Label(CategoryPage, text=" 1\n PIZZAS", borderwidth=2, relief="groove", width=20, height=2).grid(row=4, column=0, pady=15) Label(CategoryPage, text=" 2\n YAOURTS", borderwidth=2, relief="groove",
"""Entry box. Stand-alone example from Tk Assistant. stevepython.wordpress.com""" from tkinter import E, Entry, LabelFrame, messagebox, Tk, W root = Tk() root.title('Entry box') def rc_ebox(event): """Display contents of entry box.""" del event txt = entry_box.get() messagebox.showinfo('Information', 'Entry box contains the text: ' + str(txt)) main_frame = LabelFrame(root) main_frame.grid(padx=5, pady=8) entry_box = Entry(main_frame, bd=3, bg='gold') entry_box.grid(sticky=W + E, padx=5, pady=5) entry_box.insert(0, 'Type text and then right click mouse') entry_box.focus() entry_box.bind('<Button-3>', rc_ebox) root.mainloop()
#create menu selected = IntVar() menu = Menu(window) new_item = Menu(menu, tearoff=0) new_item.add_command(label='About', command=about) menu.add_cascade(label='Menu', menu=new_item) window.config(menu=menu) #create TABs tab0 = ttk.Frame(tab_control) tab_control.add(tab0, text='Personalizzato') tab1 = ttk.Frame(tab_control) tab_control.add(tab1, text='Templates') #Label frame in the 0 tab checkGroup2 = LabelFrame(tab0, text="Messaggio personalizzato", padx=10, pady=10) checkGroup2.place(x=5, y=100) txt = scrolledtext.ScrolledText(checkGroup2, width=57, height=10) txt.grid(column=1, row=1) checkGroup3 = LabelFrame(tab0, text="Impostazioni:", padx=6, pady=5) checkGroup3.place(x=5, y=5) lbl = Label(checkGroup3, text="Elenco numeri:", compound=LEFT, anchor="w") lbl.grid(sticky=N + S + W + E, column=0, row=0) btn = Button(checkGroup3, text="Select file", command=upload) btn.grid(sticky=N + S + W + E, column=2, row=0) lbl = Label(tab0, text="Hai selezionato: ", compound=LEFT, anchor="w") lbl.grid(sticky=N + S + W + E, column=0, row=10) lbl.place(x=5, y=70)
def vivista(self): # Titulo self.parent.title("Titita") # Tamaño y pocision de la ventana self.parent.geometry("1050x480+100+100") # Redimensionable self.parent.resizable(False, False) # Color de fondo self.parent.config(background="lavender") # Elegimos el icono del programa en base al OS if sistema == "linux": logo = PhotoImage(file=ruta2[0] + "/imagenes/titita.gif") self.parent.call("wm", "iconphoto", self.parent._w, logo) else: self.parent.iconbitmap(ruta2[0] + "\\imagenes\\titita.ico") ####################################################################### # Define los distintos widgets # Frame de los entry entry_frame = LabelFrame( self.parent, text="Datos del cliente y el aparato", bg="lavender", ) entry_frame.place(x=10, y=0) # Frame de los entry2 entry2_frame = LabelFrame( self.parent, text="Datos sobre la reparacion", bg="lavender", ) entry2_frame.place(x=550, y=0) # Frame de los botones button_frame = LabelFrame(self.parent, text="Comandos", bg="lavender") button_frame.place(x=920, y=0) # Frame del treeview tree_frame = Frame(self.parent) tree_frame.place(x=9, y=245) ####################################################################### # Labels y Entrys self.nombre_label = Label( entry_frame, text="Nombre: ", bg="lavender", ) self.nombre_entry = Entry(entry_frame, width=50) self.nombre_label.grid(row=0, column=0) self.nombre_entry.grid(row=0, column=1) self.apellido_label = Label( entry_frame, text="Apellido: ", bg="lavender", ) self.apellido_entry = Entry(entry_frame, width=50) self.apellido_label.grid(row=1, column=0) self.apellido_entry.grid(row=1, column=1) self.telefono_label = Label( entry_frame, text="Telefono: ", bg="lavender", ) self.telefono_entry = Entry(entry_frame, width=50) self.telefono_label.grid(row=2, column=0) self.telefono_entry.grid(row=2, column=1) self.direccion_label = Label( entry_frame, text="Direccion:", bg="lavender", ) self.direccion_entry = Entry(entry_frame, width=50) self.direccion_label.grid(row=3, column=0) self.direccion_entry.grid(row=3, column=1) self.tipo_label = Label( entry_frame, text="Tipo:", bg="lavender", ) self.tipo_spinbox = Spinbox( entry_frame, width=48, values=( "", "Amplificador", "Auricular", "Auto estereo", "Decodificador", "Camara", "Celular", "Centro Musical", "Consola de video juegos", "Consola portatil", "Estabilizador de tension", "Fuente de alimentacion", "Fuente inversora", "Impresora", "Mixer", "Monitor", "Netbook", "Notebook", "Parlante Bluetooth", "PC", "Potencia de audio", "Radio", "Reproductor de DVD", "Tablet", "Teclado", "Teclado musical", "Tv", "UPS", "Otro", ), ) self.tipo_label.grid(row=4, column=0) self.tipo_spinbox.grid(row=4, column=1, sticky="w") self.marca_label = Label( entry_frame, text="Marca: ", bg="lavender", ) self.marca_entry = Entry(entry_frame, width=50) self.marca_label.grid(row=5, column=0) self.marca_entry.grid(row=5, column=1) self.modelo_label = Label( entry_frame, text="Modelo:", bg="lavender", ) self.modelo_entry = Entry(entry_frame, width=50) self.modelo_label.grid(row=6, column=0) self.modelo_entry.grid(row=6, column=1) self.falla_label = Label( entry_frame, text="Falla: ", bg="lavender", ) self.falla_entry = Entry(entry_frame, width=50) self.falla_label.grid(row=7, column=0) self.falla_entry.grid(row=7, column=1) self.otros_label = Label( entry_frame, text="Otros:", bg="lavender", ) self.otros_entry = Entry(entry_frame, width=50) self.otros_label.grid(row=8, column=0, pady=5) self.otros_entry.grid(row=8, column=1, pady=5) ################################################################## self.estado_spin = Spinbox( entry2_frame, values=("En reparacion", "Presupuestado", "Entrgado"), ) self.estado_label = Label( entry2_frame, text="Estado", bg="lavender", ) self.estado_spin.grid(row=0, column=1, sticky="w") self.estado_label.grid(row=0, column=0, sticky="w") self.costo_label = Label( entry2_frame, text="Costos", bg="lavender", ) self.costo_entry = Entry(entry2_frame, width=30) self.costo_label.grid(row=1, column=0, pady=10, sticky="w") self.costo_entry.grid(row=1, column=1, pady=10, sticky="w") self.total_label = Label( entry2_frame, text="Total", bg="lavender", ) self.total_entry = Entry(entry2_frame, width=30) self.total_label.grid(row=2, column=0, pady=10, sticky="w") self.total_entry.grid(row=2, column=1, pady=10, sticky="w") self.descripcion_label = Label( entry2_frame, text="Descripcion", bg="lavender", ) self.descripcion_entry = Entry(entry2_frame, width=30) self.descripcion_label.grid(row=3, column=0, pady=10, sticky="w") self.descripcion_entry.grid(row=3, column=1, pady=10, sticky="w") self.notificacion_spin = Spinbox( entry2_frame, width=5, values=("No", "Si"), ) self.notificacion_label = Label( entry2_frame, text="Se notifico", bg="lavender", ) self.notificacion_spin.grid(row=4, column=1, sticky="w") self.notificacion_label.grid(row=4, column=0, sticky="w") ####################################################################### # Buttons # Boton insertar self.submit_button = Button(button_frame, text="Guardar", command=self.insert_data) # Esto es para el enter self.submit_button.bind("<Return>", self.insert_data) self.submit_button.grid(row=0, column=0) # Boton Buscar en db self.search_button = Button(button_frame, text="Buscar", command=self.search_data) # Esto es para el enter self.search_button.bind("<Return>", self.search_data) self.search_button.grid(row=1, column=0, padx=10, pady=10) # Boton de borrado de campos self.rm_button = Button( button_frame, text="Borrar", command=self.rm_data, ) # Esto es para el enter self.rm_button.bind("<Return>", self.rm_data) self.rm_button.grid(row=2, column=0, padx=10, pady=10) # Boton de configuraciones self.config_button = Button(button_frame, text="Configurar", command=self.config_data) # Esto es para el enter self.config_button.bind("<Return>", self.config_data) self.config_button.grid(row=3, column=0) ########################## tree_scroll = Scrollbar(tree_frame) tree_scroll.pack(side="right", fill="y") ####################################################################### # Treeview self.tree = ttk.Treeview( tree_frame, yscrollcommand=tree_scroll.set, columns=( "Fecha", "Nombre", "Apellido", "Telefono", "Direccion", "Tipo", "Marca", "Modelo", "Falla", "Otros", ), ) tree_scroll.config(command=self.tree.yview) self.tree.heading("#0", text="Orden") self.tree.heading("#1", text="Fecha") self.tree.heading("#2", text="Nombre") self.tree.heading("#3", text="Apellido") self.tree.heading("#4", text="Telefono") self.tree.heading("#5", text="Direccion") self.tree.heading("#6", text="Tipo") self.tree.heading("#7", text="Marca") self.tree.heading("#8", text="Modelo") self.tree.heading("#9", text="Falla") self.tree.heading("#10", text="Otros") self.tree.column("#0", stretch="YES", width=70) self.tree.column("#1", stretch="YES", width=87) self.tree.column("#2", stretch="YES", width=110) self.tree.column("#3", stretch="YES", width=110) self.tree.column("#4", stretch="YES", width=100) self.tree.column("#5", stretch="YES", width=100) self.tree.column("#6", stretch="YES", width=80) self.tree.column("#7", stretch="YES", width=80) self.tree.column("#8", stretch="YES", width=90) self.tree.column("#9", stretch="YES", width=100) self.tree.column("#10", stretch="YES", width=90) self.tree.pack() # Esto es para seleccionar con el click self.tree.bind("<ButtonRelease-1>", self.select_data) self.treeview = self.tree self.ver_data()
def __init__(self, master=None): super().__init__(master) self.pack() # First row f1 = LabelFrame(self, text='NAND file with No$GBA footer', padx=10, pady=10) # NAND Button self.nand_mode = False nand_icon = PhotoImage( data=('R0lGODlhEAAQAIMAAAAAADMzM2ZmZpmZmczMzP///wAAAAAAAAA' 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAYALAAAAAAQAB' 'AAAARG0MhJaxU4Y2sECAEgikE1CAFRhGMwSMJwBsU6frIgnR/bv' 'hTPrWUSDnGw3JGU2xmHrsvyU5xGO8ql6+S0AifPW8kCKpcpEQA7')) self.nand_button = Button(f1, image=nand_icon, command=self.change_mode, state=DISABLED) self.nand_button.image = nand_icon self.nand_button.pack(side='left') self.nand_file = StringVar() Entry(f1, textvariable=self.nand_file, state='readonly', width=40).pack(side='left') if sysname == 'Darwin' and getattr(sys, 'frozen', False): Label(f1, text='...').pack(side='top') Button(f1, text='...', command=self.choose_nand).pack(side='left') f1.pack(padx=10, pady=10, fill=X) # Second row f2 = Frame(self) # Check boxes self.checks_frame = Frame(f2) # Install TWiLight check self.twilight = IntVar() twl_chk = Checkbutton( self.checks_frame, text='Install latest TWiLight Menu++ on custom firmware', variable=self.twilight) twl_chk.pack(padx=10, anchor=W) # Clean files check self.clean_downloaded = IntVar() self.clean_downloaded.set(1) clean_chk = Checkbutton(self.checks_frame, text='Clean downloaded files after completion', variable=self.clean_downloaded) clean_chk.pack(padx=10, anchor=W) # Extract photo check self.photo = IntVar() self.photo.set(1) photo_chk = Checkbutton(self.checks_frame, text='Extract photo partition from NAND', variable=self.photo) photo_chk.pack(padx=10, anchor=W) self.checks_frame.pack(fill=X) # NAND operation frame self.nand_frame = LabelFrame(f2, text='NAND operation', padx=10, pady=10) self.nand_operation = IntVar() self.nand_operation.set(0) Radiobutton(self.nand_frame, text='Remove No$GBA footer', variable=self.nand_operation, value=0, command=lambda: self.enable_entries(False)).pack(anchor=W) Radiobutton(self.nand_frame, text='Add No$GBA footer', variable=self.nand_operation, value=1, command=lambda: self.enable_entries(True)).pack(anchor=W) fl = Frame(self.nand_frame) self.cid_label = Label(fl, text='eMMC CID', state=DISABLED) self.cid_label.pack(anchor=W, padx=(24, 0)) self.cid = StringVar() self.cid_entry = Entry(fl, textvariable=self.cid, width=20, state=DISABLED) self.cid_entry.pack(anchor=W, padx=(24, 0)) fl.pack(side='left') fr = Frame(self.nand_frame) self.console_id_label = Label(fr, text='Console ID', state=DISABLED) self.console_id_label.pack(anchor=W) self.console_id = StringVar() self.console_id_entry = Entry(fr, textvariable=self.console_id, width=20, state=DISABLED) self.console_id_entry.pack(anchor=W) fr.pack(side='right') f2.pack(fill=X) # Third row f3 = Frame(self) if sysname == 'Darwin' and getattr(sys, 'frozen', False): Label(f3, text='Start').pack(side='left') self.start_button = Button(f3, text='Start', width=16, command=self.hiya, state=DISABLED) self.start_button.pack(side='left', padx=(0, 5)) if sysname == 'Darwin' and getattr(sys, 'frozen', False): Label(f3, text='Quit').pack(side='left') Button(f3, text='Quit', command=root.destroy, width=16).pack(side='left', padx=(5, 0)) f3.pack(pady=(10, 20)) self.folders = [] self.files = []
#Displaying the extracted data in the GUI with tkinter root = Tk() # keep track of widgets seller_tk = np.empty(seller.shape, dtype=object) buyer_tk = np.empty(buyer.shape, dtype=object) invoice_tk = np.empty(invoice.shape, dtype=object) array_tk = np.empty(array.shape, dtype=object) # top frame ---------- topframe = Frame(root) topframe.pack() # seller details frame0 = LabelFrame(topframe, text="seller details") frame0.grid(row=0, column=0) rows = seller.shape[0] for i in range(rows): l = Label(frame0, text=seller[i][0]) l.grid(row=i, column=0) seller_tk[i][0] = l e = Entry(frame0) e.grid(row=i, column=1) e.insert(END, seller[i][1]) seller_tk[i][1] = e # buyer details frame1 = LabelFrame(topframe, text="buyer details") frame1.grid(row=0, column=1) rows = buyer.shape[0]
def __init__(self, window, base, **kwargs): self.window = window self.base = base self.my_font = Font(size=16) self.name_label_frame = LabelFrame(self.window, text="Nazwa poradni") self.name_label_frame.grid(row=0, column=0) self.name_text = Text(self.name_label_frame, height=5, width=57) self.name_text.grid(row=0, column=0) self.name_accept_button = Button(self.name_label_frame, text="Zachowaj") self.name_accept_button.grid(row=1, column=0) self.staff_label_frame = LabelFrame(self.window, text="Specjaliści") self.staff_label_frame.grid(row=1, column=0) self.staff_table = Treeview(self.staff_label_frame, columns=("name", "speciality")) self.staff_table.grid(row=0, column=0) self.staff_table.heading("#1", text="imię i nazwisko") self.staff_table.heading('#2', text="specjalizacja") self.staff_table.column('#1', width=200) self.staff_table.column('#2', width=200) self.staff_table['show'] = 'headings' self.staff_buttons = Frame(self.staff_label_frame) self.staff_buttons.grid(row=1, column=0) self.new_specialist_button = Button(self.staff_buttons, text="Nowy") self.new_specialist_button.grid(row=0, column=0) self.edit_specialist_button = Button(self.staff_buttons, text="Edytuj") self.edit_specialist_button.grid(row=0, column=1) self.delete_specialist_button = Button(self.staff_buttons, text="Usuń") self.delete_specialist_button.grid(row=0, column=2) self.school_label_frame = LabelFrame(self.window, text="Szkoły") self.school_label_frame.grid(row=2, column=0) self.school_table = Treeview(self.school_label_frame, columns=("name", "sort")) self.school_table.grid(row=0, column=0) self.school_table.heading("#1", text="nazwa szkoły") self.school_table.heading('#2', text="rodzaj szkoły") self.school_table.column('#1', width=200) self.school_table.column('#2', width=200) self.school_table['show'] = 'headings' self.school_buttons = Frame(self.school_label_frame) self.school_buttons.grid(row=1, column=0) self.new_school_button = Button(self.school_buttons, text="Dodaj") self.new_school_button.grid(row=0, column=0) self.edit_school_button = Button(self.school_buttons, text="Edytuj") self.edit_school_button.grid(row=0, column=1) self.delete_school_button = Button(self.school_buttons, text="Usuń") self.delete_school_button.grid(row=0, column=2) self.close_button = Button(self.window, text="Zamknij", font=self.my_font, width=20, command=self.close) self.close_button.grid(row=3, column=0)
# Empty lists to hold the coins and markets coins = {} markets = {} lastmarketselect = "" # The threads that bind us thrdrefresh = threading.Thread orderreqthrds = {} graphdrawn = False btcgbp = 0 # Base windows parameters window.geometry("1024x768+450+150") window.resizable(0, 0) window.title("Cryptopia API") window.iconbitmap("cryptopia.ico") # A frame filled with some buttons. seems legit. window.pubframe = LabelFrame(window, text="Public API Functions (No Key Required!)") window.pubframe.place(relx=0.01, rely=0.01, relheight=0.07, relwidth=0.99) # Refresh window.btnrefresh = Button(window.pubframe, text="Refresh", command=refresh) window.btnrefresh.place(relx=0.01, rely=0.01, height=24, width=65) # Virtual gap, check x, y on buttons. # Get BTC price. window.btngetbtcprice = Button(window.pubframe, text="Get BTC Price", command=getbtcprice) window.btngetbtcprice.place(relx=0.82, rely=0.01, height=24, width=85) # Clear text output. window.btncls = Button(window.pubframe, text="Clear Debug", command=cleardebug) window.btncls.place(relx=0.91, rely=0.01, height=24, width=85) # List boxes to hold coin and markets and their respective data # a matplotlib graph will be thrown in here on getMarketHistory
return vehicle, informed, inspected, renewed titleframe = Frame(root) titleframe.configure(background=bg_colour) titleframe.grid(row=0, column=0) editframeTitle = Label(root, text="Manage Entries", background=bg_colour, pady=5) editframe = LabelFrame(root, text="Manage Entries", borderwidth=1, labelanchor='n', labelwidget=editframeTitle, font=("Myriad Pro Bold", 10)) editframe.configure(background=bg_colour) editframe.grid(row=2, column=0, padx=40, pady=25) roadtax_tab = ttk.Notebook(root) bodyframe = Frame(roadtax_tab) bodyframe.configure(background=bg_colour) bodyframe.grid() roadtax_tab.add(bodyframe, text="Roadtax") roadtax_tab.enable_traversal() roadtax_tab.grid(row=1, column=0, sticky=S)
def __init__(self, master, chip, start_address, initial_port_desc=""): super().__init__(master) self.title("Install %s firmware with esptool" % chip.upper()) self._chip = chip self._start_address = start_address self._esptool_command = self._get_esptool_command() if not self._esptool_command: messagebox.showerror( "Can't find esptool", "esptool not found.\n" + "Install it via 'Tools => Manage plug-ins'\n" + "or using your OP-system package manager.", ) self._close() return self.main_frame.columnconfigure(2, weight=1) epadx = ems_to_pixels(2) ipadx = ems_to_pixels(0.5) epady = epadx ipady = ipadx # Port port_label = ttk.Label(self.main_frame, text="Port") port_label.grid(row=1, column=1, sticky="w", padx=(epadx, 0), pady=(epady, 0)) self._port_desc_variable = tk.StringVar(value=initial_port_desc) self._port_combo = ttk.Combobox(self.main_frame, exportselection=False, textvariable=self._port_desc_variable, values=[]) self._port_combo.state(["!disabled", "readonly"]) self._port_combo.grid(row=1, column=2, sticky="nsew", padx=ipadx, pady=(epady, 0)) port_reload_button = ttk.Button(self.main_frame, text="Reload", command=self._reload_ports) port_reload_button.grid(row=1, column=3, sticky="ew", padx=(0, epadx), pady=(epady, 0)) # Firmware firmware_label = ttk.Label(self.main_frame, text="Firmware") firmware_label.grid(row=2, column=1, sticky="w", padx=(epadx, 0), pady=(ipady, 0)) self._firmware_entry = ttk.Entry(self.main_frame, width=65) self._firmware_entry.grid(row=2, column=2, sticky="nsew", padx=ipadx, pady=(ipady, 0)) browse_button = ttk.Button(self.main_frame, text="Browse...", command=self._browse) browse_button.grid(row=2, column=3, sticky="we", padx=(0, epadx), pady=(ipady, 0)) # FLASH_MODE self._flashmode = tk.StringVar(None, "keep") flashmode_group = LabelFrame(self.main_frame, text="Flash mode", padx=10, pady=10) flashmode_group.grid(row=4, column=1, columnspan=2, sticky="w", padx=(epadx, 0), pady=(ipady * 2, 0)) self._flashmode_keep_radiobutton = ttk.Radiobutton( flashmode_group, text="From image file (keep)", variable=self._flashmode, value="keep") self._flashmode_keep_radiobutton.grid(row=0, column=0, sticky="w") # self._flashmode_variable.value=False self._flashmode_qio_radiobutton = ttk.Radiobutton( flashmode_group, text="Quad I/O (qio)", variable=self._flashmode, value="qio") self._flashmode_qio_radiobutton.grid(row=0, column=1, sticky="w") self._flashmode_dio_radiobutton = ttk.Radiobutton( flashmode_group, text="Dual I/O (dio)", variable=self._flashmode, value="dio") self._flashmode_dio_radiobutton.grid(row=1, column=0, sticky="w") self._flashmode_dout_radiobutton = ttk.Radiobutton( flashmode_group, text="Dual Output (dout)", variable=self._flashmode, value="dout") self._flashmode_dout_radiobutton.grid(row=1, column=1, sticky="w") # Erase self._erase_variable = tk.BooleanVar(value=True) self._erase_checkbutton = ttk.Checkbutton( self.main_frame, text="Erase flash before installing", variable=self._erase_variable) self._erase_checkbutton.grid(row=6, column=1, columnspan=2, sticky="w", padx=(epadx, 0), pady=(ipady, epady)) # Buttons install_button = ttk.Button(self.main_frame, text="Install", command=self._install) install_button.grid(row=6, column=2, columnspan=1, sticky="e", padx=ipadx, pady=(0, epady)) cancel_button = ttk.Button(self.main_frame, text="Close", command=self._close) cancel_button.grid(row=6, column=3, columnspan=1, sticky="e", padx=(0, epadx), pady=(0, epady)) self._reload_ports()
def __init__(self, MainWin): """Inits Tkinter window of GridGUI.""" self.root = MainWin #MainWin.geometry("800x600") #You want the size of the app to be 500x500 MainWin.geometry( '+10+30' ) try: style = Style(self.root) if "win" == platform[:3]: style.theme_use('vista') elif "darwin" in platform: style.theme_use('clam') else: style.theme_use('clam') bg = style.lookup("TLabel", "background") self.root.configure(bg=bg) except: print("OOPS... failed to set style.theme_use... Let's press on.") self.MainWin = MainWin MainWin.protocol('WM_DELETE_WINDOW', self.cleanupOnQuit) MainWin.allow_subWindows_to_close = 0 self.add_menu_to_MainWin() topFrame = Frame( MainWin ) # frame for controls #topFrame = tx.ScrolledWindow( MainWin ) frame1 = LabelFrame(topFrame, text="Widgets") self.place_widget_selection_listbox( frame1 ) frame1.pack(anchor=NW, side=LEFT) frame2 = Frame( topFrame ) # frame for radio buttons self.place_gui_definition_controls( frame2, MainWin ) frame2.pack(anchor=N, side=LEFT) self.grid_frame = Frame(topFrame) self.grid_notebook = NotebookGridDes(self, self.grid_frame, MainWin, num_cols=5, num_rows=8) self.grid_frame.pack(anchor=N, side=LEFT) topFrame.pack(fill=BOTH, expand=Y) # make a Status Bar statframe = Frame(MainWin) MainWin.statusMessage = StringVar() MainWin.statusMessage.set('Welcome to TkGridGUI') self.statusbar = Label(statframe, textvariable=MainWin.statusMessage, relief=SUNKEN, anchor=W) self.statusbar.pack(anchor=SW, fill=X, side=BOTTOM) statframe.pack(anchor=SW, fill=X, side=BOTTOM) # Initialize some GridGUI parameters self.current_fileFullName = '' # no file for now self.current_filePath = '' # no file for now self.current_fileName = '' # no file for now self.target_app = TargetTkAppDef( name='myApp') self.PreviewWin = None # need to initialize later self.Listbox_1_Click( 'FromInit' ) # execute selection logic self.in_reading_mode = False # when True, suppresses some automatic trace actions. if len( sys.argv ) == 2: fName = sys.argv[1] if fName.find('.')<0: fName += '.def' fullpath = os.path.abspath(fName) if os.path.isfile( fullpath ): # if file exists, read it as a definition file self.openFile( fName=fullpath ) else: self.MainWin.statusMessage.set('file "%s" does not exist'%fName) self.grid_notebook.notebook.bind("<<NotebookTabChanged>>", self.tab_of_notebook_changed) self.mouse_location = '' self.MainWin.bind("<Enter>", self.onMainWindowEnter)
def populateInterface(self, parent): """ populate the parent element with all SingleColor elements :param parent: the parent element of all subelements """ """#################### HUE ####################""" self._LF_hue = LabelFrame(parent, text="H") self._LF_hue.grid(row=0, column=0, sticky=(E, W)) self._SV_hue = StringVar(value="0") self._S_hue = Scale(self._LF_hue, from_=0, to=360, orient=HORIZONTAL, variable=self._SV_hue, command=self._change_HSV) self._S_hue.grid(row=0, column=0, columnspan=2, sticky=E) self._SV_hueD = StringVar(value="60") self._S_hueD = Scale(self._LF_hue, from_=0, to=120, orient=HORIZONTAL, variable=self._SV_hueD) self._S_hueD.grid(row=1, column=0, columnspan=2, sticky=E) """#################### SATURATION ####################""" self._LF_saturation = LabelFrame(parent, text="S") self._LF_saturation.grid(row=1, column=0, sticky=(E, W)) self._SV_saturation = StringVar(value="100") self._S_saturation = Scale(self._LF_saturation, from_=0, to=100, orient=HORIZONTAL, variable=self._SV_saturation, command=self._change_HSV) self._S_saturation.grid(row=0, column=0, columnspan=2, sticky=E) self._SV_saturationD = StringVar(value="0") self._S_saturationD = Scale(self._LF_saturation, from_=0, to=100, orient=HORIZONTAL, variable=self._SV_saturationD) self._S_saturationD.grid(row=1, column=0, columnspan=2, sticky=E) """#################### LUMINOSITY ####################""" self._LF_value = LabelFrame(parent, text="V") self._LF_value.grid(row=2, column=0, sticky=(E, W)) self._SV_value = StringVar(value="100") self._S_value = Scale(self._LF_value, from_=0, to=100, orient=HORIZONTAL, variable=self._SV_value, command=self._change_HSV) self._S_value.grid(row=0, column=0, columnspan=2, sticky=E) self._SV_valueD = StringVar(value="0") self._S_valueD = Scale(self._LF_value, from_=0, to=100, orient=HORIZONTAL, variable=self._SV_valueD) self._S_valueD.grid(row=1, column=0, columnspan=2, sticky=E) """#################### Speed ####################""" self._LF_SPEED = LabelFrame(parent, text="T") self._LF_SPEED.grid(row=3, column=0, sticky=(E, W)) self._SV_SPEED = StringVar(value="60") self._S_SPEED = Scale(self._LF_SPEED, from_=10, to=500, orient=HORIZONTAL, variable=self._SV_SPEED) self._S_SPEED.grid(row=0, column=0, columnspan=2, sticky=E) self._B_SPEED_Reset = Button(self._LF_SPEED, command=self.resetSpeed, text="Reset speed") self._B_SPEED_Reset.grid(row=1, column=0, sticky=E) """#################### Interpolation ####################""" self._LF_INTERPO = LabelFrame(parent, text="I") self._LF_INTERPO.grid(row=4, column=0, sticky=(E, W)) self._SV_INTERPO = StringVar(value="100") self._S_INTERPO = Scale(self._LF_INTERPO, from_=10, to=100, orient=HORIZONTAL, variable=self._SV_INTERPO) self._S_INTERPO.grid(row=0, column=0, columnspan=2, sticky=E)
def __init__(self, prepare_json_tab, main_dir, root): self.reg_font = ('Times', '12') self.main_dir = main_dir self.root = root self.a = IntVar() self.v_or_chv = IntVar() self.intf_or_sbl = StringVar(value='sbl') # frames self.prepare_json_frame = Frame(prepare_json_tab) self.prepare_json_frame.pack(fill=BOTH, expand=1) Grid.rowconfigure(self.prepare_json_frame, 0, weight=1) Grid.rowconfigure(self.prepare_json_frame, 1, weight=1) Grid.rowconfigure(self.prepare_json_frame, 2, weight=1) Grid.columnconfigure(self.prepare_json_frame, 0, weight=1) Grid.columnconfigure(self.prepare_json_frame, 1, weight=1) Grid.columnconfigure(self.prepare_json_frame, 2, weight=1) Grid.columnconfigure(self.prepare_json_frame, 3, weight=1) self.all_or_range_frame = LabelFrame(self.prepare_json_frame, text='Prepare: ', font=self.reg_font) self.all_or_range_frame.grid(row=0, column=0, pady=20, padx=20, columnspan=4, sticky=EW) self.ref_format_frame = LabelFrame(self.prepare_json_frame, text='Reference Format', font=self.reg_font) self.ref_format_frame.grid(row=1, column=0, pady=20, padx=20, columnspan=4, sticky=EW) self.buttons_frame = Frame(self.prepare_json_frame) self.buttons_frame.grid(row=2, column=0, pady=20, padx=20, columnspan=4, sticky=EW) # all_or_range_frame self.range_rb1 = Radiobutton(self.all_or_range_frame, text='All verses in file', variable=self.a, width=15, value=1, font=self.reg_font, anchor=W) self.range_rb1.grid(row=0, column=0) self.range_rb2 = Radiobutton(self.all_or_range_frame, text='Range', variable=self.a, width=15, value=2, font=self.reg_font, anchor=W) self.range_rb2.grid(row=1, column=0) self.range_rb3 = Radiobutton(self.all_or_range_frame, text='Auto', variable=self.a, width=15, value=3, font=self.reg_font, anchor=W, state=DISABLED) self.range_rb3.grid(row=2, column=0) self.from_label = Label(self.all_or_range_frame, text='from:', font=self.reg_font) self.from_label.grid(row=1, column=1) self.range_from_entry = Entry(self.all_or_range_frame, font=self.reg_font, width=10) self.range_from_entry.grid(row=1, column=2, pady=10) self.to_label = Label(self.all_or_range_frame, text='to:', font=self.reg_font) self.to_label.grid(row=1, column=3, padx=25, pady=10) self.range_to_entry = Entry(self.all_or_range_frame, font=self.reg_font, width=10) self.range_to_entry.grid(row=1, column=4, padx=10, pady=10) self.auto_label = Label(self.all_or_range_frame, text='unit:', font=self.reg_font) self.auto_label.grid(row=2, column=1, pady=10, padx=10) self.auto_unit_entry = Entry(self.all_or_range_frame, font=self.reg_font, width=10, state=DISABLED) self.auto_unit_entry.grid(row=2, column=2, pady=10, padx=10) # ref_format frame self.vrs_rb = Radiobutton(self.ref_format_frame, text='verse', variable=self.v_or_chv, width=15, value=1, font=self.reg_font, anchor=W) self.vrs_rb.grid(row=0, column=0) self.vrs_chp_rb = Radiobutton(self.ref_format_frame, text='chapter:verse', variable=self.v_or_chv, width=15, value=2, font=self.reg_font, anchor=W) self.vrs_chp_rb.grid(row=1, column=0, pady=10) self.xml_input = Radiobutton(self.ref_format_frame, text='TEI XML', font=self.reg_font, variable=self.v_or_chv, value=3, anchor=W) self.xml_input.grid(row=2, column=0, pady=10, sticky=W) self.chapter_label = Label(self.ref_format_frame, text='book and chapter or pericope:', font=self.reg_font) self.chapter_label.grid(row=0, column=1, pady=10, padx=10) self.chapter_entry = Entry(self.ref_format_frame, font=self.reg_font, width=10) self.chapter_entry.grid(row=0, column=2, pady=10, padx=10) self.chapter_example_label = Label(self.ref_format_frame, text='e.g. Rom13 or Rom1.1-8\n\ the style of abbreviation is not important') self.chapter_example_label.grid(row=0, column=3, pady=10, padx=10) # bottom self.siglum_label = Label(self.buttons_frame, text='siglum:', font=self.reg_font) self.siglum_label.grid( row=0, column=0, padx=10, ) self.siglum_entry = Entry(self.buttons_frame, font=self.reg_font, width=10) self.siglum_entry.grid(row=0, column=1, padx=20, pady=10) self.prepare_json_button = Button(self.buttons_frame, text='Prepare JSON Files', font=self.reg_font, command=self.get_text_to_prepare) self.prepare_json_button.grid(row=0, column=3, padx=20, pady=10) self.output_label = Label(self.buttons_frame, text='File output name format:', font=self.reg_font) self.output_label.grid(row=0, column=4, padx=20, pady=10) self.intf_rb = Radiobutton(self.buttons_frame, text='INTF/IGNTP', font=self.reg_font, variable=self.intf_or_sbl, value='intf') self.intf_rb.grid(row=0, column=5, padx=20) self.sbl_rb = Radiobutton(self.buttons_frame, text='SBL', font=self.reg_font, variable=self.intf_or_sbl, value='sbl') self.sbl_rb.grid(row=0, column=6)
def put_native_widget_into_pw_frame(self): cobj = self.cobj if cobj.widget_type == 'Notebook': self.native_widget = Notebook(self.pw_frame, width=400, height=300) #self.native_widget.bind("<<NotebookTabChanged>>", self.tab_of_notebook_changed) self.native_widget.bind("<ButtonRelease-1>", self.tab_of_notebook_clicked) tab_label_str = cobj.user_tkOptionD.get('tab_labels', 'Pine\nBirch\nCherry') tab_labelL = tab_label_str.split('\n') # First tab is just to identify Notebook_xxx #tab_frame = Frame( self.native_widget ) #self.native_widget.add(tab_frame, text=cobj.widget_name) self.tab_frameL = [ ] # list of Frame objects used as tabs for Notebook # add desired tabs after that for tab_str in tab_labelL: tab_frame = Frame(self.native_widget) self.native_widget.add(tab_frame, text=tab_str) # save Frame objects to put Tab widgets onto. self.tab_frameL.append(tab_frame) elif cobj.widget_type == 'Frame': self.native_widget = Frame(self.pw_frame, bd=2, relief=GROOVE) elif cobj.widget_type == 'Spinbox': self.native_widget = Spinbox(self.pw_frame, from_=0, to=100) elif cobj.widget_type == 'Treeview': self.native_widget = Treeview(self.pw_frame) tree = self.native_widget # Inserted at the root, program chooses id: tree.insert('', 'end', 'widgets', text='Widget Tour') # Same thing, but inserted as first child: tree.insert('', 0, 'gallery', text=cobj.widget_name) # Treeview chooses the id: id = tree.insert('', 'end', text='Tutorial') # Inserted underneath an existing node: for tree_widget in sorted(tkWidgetsD.keys()): tree.insert('widgets', 'end', text=tree_widget) tree.insert(id, 'end', text='Tree') elif cobj.widget_type in ['RadioGroup', 'LabelFrame']: self.native_widget = LabelFrame(self.pw_frame, text=cobj.widget_name) elif cobj.widget_type == "Canvas": self.native_widget = Canvas(self.pw_frame) w = int(cobj.user_tkOptionD['width']) h = int(cobj.user_tkOptionD['height']) #self.native_widget.create_rectangle((2, 2, w-1, h-1), outline="blue") self.native_widget.config(bg='#aaffaa') self.native_widget.create_text(w // 2, h // 2, text=cobj.widget_name, fill="black", width=w, anchor='center') elif cobj.tkvar is None: # has no tk variable, so don't worry about it self.native_widget = tkWidgetsD[cobj.widget_type](self.pw_frame) # ============ The following all have tk variable controllers. =============== else: # e.g. StringVar # 'Entry' 'OptionMenu' 'Combobox' 'Checkbutton' 'Radiobutton' 'Scale' if cobj.widget_type == 'Entry': self.native_widget = Entry(self.pw_frame, textvariable=cobj.tkvar) elif cobj.widget_type == 'OptionMenu': self.native_widget = OptionMenu(self.pw_frame, cobj.tkvar, "one", "two", "three", "four") cobj.tkvar.set("two") elif cobj.widget_type == 'Combobox': self.native_widget = Combobox(self.pw_frame, textvariable=cobj.tkvar) self.native_widget['values'] = ('X', 'Y', 'Z') self.native_widget.current(0) elif cobj.widget_type == 'Checkbutton': self.native_widget = Checkbutton(self.pw_frame, variable=cobj.tkvar, onvalue="yes", offvalue="no") cobj.tkvar.set("yes") elif cobj.widget_type == 'Menubutton': self.native_widget = Menubutton(self.pw_frame, text=cobj.widget_name, relief=GROOVE) self.native_widget.menu = Menu(self.native_widget, tearoff=0) self.native_widget["menu"] = self.native_widget.menu for i, tkvar in enumerate(cobj.tkvar_list): self.native_widget.menu.add_checkbutton(label="option %i" % (i + 1, ), variable=tkvar) elif cobj.widget_type == 'Radiobutton': if cobj.tab_label.startswith("RadioGroup"): tkvar = cobj.target_app.compObjD[cobj.tab_label].tkvar self.native_widget = Radiobutton(self.pw_frame, variable=tkvar, value=cobj.widget_name) #print(cobj.widget_name,' is part of ',cobj.tab_label) self.native_widget.select() else: self.native_widget = Radiobutton(self.pw_frame, variable=cobj.tkvar, value=cobj.widget_name) #print(cobj.widget_name,' is an isolated radio button') elif cobj.widget_type == 'Scale': self.native_widget = Scale(self.pw_frame, variable=cobj.tkvar, from_=0, to=100) else: print("WARNING... ignoring tk variable for ", cobj.widget_name) self.native_widget = tkWidgetsD[cobj.widget_type]( self.pw_frame) self.has_y_scroll = False # might get set in self.set_native_widget_attr() self.has_x_scroll = False # might get set in self.set_native_widget_attr() self.vbar = False # might get set in self.set_native_widget_attr() self.hbar = False # might get set in self.set_native_widget_attr() if cobj.widget_type in ('Treeview', ): self.tooltip = CreateToolTip( self.pw_frame, text=cobj.widget_name, background=CONTROL_COLOR_D[cobj.widget_type]) else: self.tooltip = CreateToolTip( self.native_widget, text=cobj.widget_name, background=CONTROL_COLOR_D[cobj.widget_type]) #self.native_widget.pack(side=LEFT,expand=True,fill=BOTH) self.native_widget.grid(row=0, column=0) cobj.default_tkOptionD = get_properties_dict(self.native_widget) #if 'from' in cobj.default_tkOptionD: # cobj.default_tkOptionD['from_'] = cobj.default_tkOptionD['from'] self.set_native_widget_attr() # bind to native_widget_clicked so the grid_notebook tab can be set if cobj.widget_type != 'Notebook': self.native_widget.bind("<ButtonRelease-1>", self.native_widget_clicked)