# coding=utf-8 import os import threading import time from tkinter import Button, Frame, Label, Entry, Tk from tkinter import Canvas import tkinter.filedialog as filedialog from pngPacker import trimList, getstatus, resetStatus, writeFile, analyse from tkinter.constants import RIGHT __version__ = "0.0.3" root = Tk() # root.geometry("385x150") root.title("pngPacker --- version %s" % __version__) top = Frame(root, width=390, height=90) advancedFrame = Frame(root, width=390, height=90) filePathLabel = Label(top, text="", width=30) outDictoryLabel = Label(top, text="", width=30) outNameEntry = Entry(advancedFrame) outNameEntry.textvariable = "image_" limitXEntry = Entry(advancedFrame, width=2) limitYEntry = Entry(advancedFrame, width=2) pngPath = "" outDictory = "" name = "image_" # global rectlist rectlist = []
def cargaPerfil(self): root=Tk() root.title("Perfil de Usuario") root.resizable(width=0, height=0) root.geometry("350x250") root.wm_iconbitmap("imagenes/imagen6.ico") varOpcion=IntVar() miFrame=Frame(root, width=400, height=200) miFrame.pack() mensaje=Label(miFrame,text="\nDatos del Usuario:\n") mensaje.grid(row=0, column=0, columnspan=2) cuadroNombre=Entry(miFrame) cuadroNombre.grid(row=1, column=1, padx=5, pady=5) cuadroNombre2=Entry(miFrame) cuadroNombre2.grid(row=2, column=1, padx=5, pady=5) cuadroNombre3=Entry(miFrame) cuadroNombre3.grid(row=3, column=1, padx=5, pady=5) cuadroNombre4=Entry(miFrame) cuadroNombre4.grid(row=4, column=1, padx=5, pady=5) cuadroNombre5=Entry(miFrame) cuadroNombre5.grid(row=5, column=1, padx=5, pady=5) cuadroNombre6=Entry(miFrame) cuadroNombre6.grid(row=6, column=1, padx=5, pady=5) cuadroNombre6.config(show="*") nombreLabel=Label(miFrame, text="Nombre: ") nombreLabel.grid(row=1, column=0, sticky="n", padx=5, pady=5) nombreLabel2=Label(miFrame, text="Apellido: ") nombreLabel2.grid(row=2, column=0, sticky="n", padx=5, pady=5) nombreLabel3=Label(miFrame, text="Correo: ") nombreLabel3.grid(row=3, column=0, sticky="n", padx=5, pady=5) nombreLabel4=Label(miFrame, text="DNI: ") nombreLabel4.grid(row=4, column=0, sticky="n", padx=5, pady=5) nombreLabel5=Label(miFrame, text="Usuario: ") nombreLabel5.grid(row=5, column=0, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Contraseña: ") nombreLabel6.grid(row=6, column=0, sticky="n", show="*", padx=5, pady=5) fcursor = conexion.cursor() sql="SELECT TOP 1 * FROM [dbo].[Usuarios] WHERE [usuario] = '"+str(self.usuario)+"'" fcursor.execute(sql) usuario = fcursor.fetchone() cuadroNombre.insert(0,str(usuario[1])) cuadroNombre.configure(state='readonly') cuadroNombre2.insert(0,str(usuario[2])) cuadroNombre2.configure(state='readonly') cuadroNombre3.insert(0,str(usuario[3])) cuadroNombre3.configure(state='readonly') cuadroNombre4.insert(0,str(usuario[4])) cuadroNombre4.configure(state='readonly') cuadroNombre5.insert(0,str(usuario[7])) cuadroNombre5.configure(state='readonly') cuadroNombre6.insert(0,str(usuario[8])) cuadroNombre6.configure(state='readonly') #print(usuario) root.mainloop()
def cargaUltimoTicket(self): root=Tk() root.title("Editar Estado de Ticket de Usuario") root.resizable(width=0, height=0) root.geometry("450x350") root.wm_iconbitmap("imagenes/imagen6.ico") varOpcion=IntVar() miFrame=Frame(root, width=400, height=200) miFrame.pack() mensaje=Label(miFrame,text="\nDatos del Ticket Generado:\n") mensaje.grid(row=0, column=0, columnspan=3) #cuadroNombre=Entry(miFrame) #cuadroNombre.grid(row=1, column=1, padx=5, pady=5) global nId nId = tk.StringVar() cuadroId=ttk.Combobox(miFrame,width=16,textvariable = nId) sql = "SELECT [Ticket].[idTicket] FROM [TicketBD].[dbo].[Ticket], [DetalleTicket],[Usuarios],[TipoCategoria] WHERE [Ticket].idTipoCategoria=[TipoCategoria].idTipoCategoria AND [DetalleTicket].idTicket=[Ticket].idTicket AND [Usuarios].id = [DetalleTicket].idUsuario AND [Ticket].estado != 'Cerrado' ORDER BY [Ticket].[idTicket] DESC" fcursor = conexion.cursor() fcursor.execute(sql) lResultado = fcursor.fetchall() #print(lResultado) conexion.commit() lDatos = [] for ele in lResultado: lDatos.append(ele[0]) cuadroId['values']=lDatos cuadroId.grid(row=1, column=1, padx=5, pady=5) cuadroId.current(0) cuadroNombre2=Entry(miFrame) cuadroNombre2.grid(row=2, column=1, padx=5, pady=5) cuadroNombre3=Entry(miFrame) cuadroNombre3.grid(row=3, column=1, padx=5, pady=5) cuadroNombre4=Entry(miFrame) cuadroNombre4.grid(row=4, column=1, padx=5, pady=5) cuadroNombre5=Entry(miFrame) cuadroNombre5.grid(row=5, column=1, padx=5, pady=5) cuadroNombre6=Entry(miFrame) cuadroNombre6.grid(row=6, column=1, padx=5, pady=5) #cuadroNombre6.config(show="*") botonCarga = Button(miFrame) nombreLabel=Label(miFrame, text="ID Ticket: ") nombreLabel.grid(row=1, column=0, sticky="n", padx=5, pady=5) nombreLabel2=Label(miFrame, text="Asunto: ") nombreLabel2.grid(row=2, column=0, sticky="n", padx=5, pady=5) nombreLabel3=Label(miFrame, text="Nombres: ") nombreLabel3.grid(row=3, column=0, sticky="n", padx=5, pady=5) nombreLabel4=Label(miFrame, text="Apellidos: ") nombreLabel4.grid(row=4, column=0, sticky="n", padx=5, pady=5) nombreLabel5=Label(miFrame, text="Categoria: ") nombreLabel5.grid(row=5, column=0, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Correo: ") nombreLabel6.grid(row=6, column=0, sticky="n", padx=5, pady=5) nombreLabel7=Label(miFrame, text="Mensaje: ") nombreLabel7.grid(row=7, column=0, sticky="n", padx=5, pady=5) global n n = tk.StringVar() cuadroTipo=ttk.Combobox(miFrame,state="readonly",width=16,textvariable = n) cuadroTipo['values']=('En proceso/Nuevo','En Observación','Atendido','Cerrado') cuadroTipo.grid(row=7, column=1, padx=5, pady=5) cuadroTipo.current(0) def cargaEstado(): try: sId=cuadroId.get() sql = "SELECT TOP 1 * FROM [TicketBD].[dbo].[Ticket], [DetalleTicket],[Usuarios],[TipoCategoria] WHERE [Ticket].idTipoCategoria=[TipoCategoria].idTipoCategoria AND [DetalleTicket].idTicket=[Ticket].idTicket AND [Usuarios].id = [DetalleTicket].idUsuario AND [Ticket].[idTicket] = '"+str(sId)+"'" fcursor = conexion.cursor() fcursor.execute(sql) lResultado = fcursor.fetchone() #print(lResultado) cuadroNombre2.insert(0,str(lResultado[4])) cuadroNombre2.configure(state='readonly') cuadroNombre3.insert(0,str(lResultado[9])) cuadroNombre3.configure(state='readonly') cuadroNombre4.insert(0,str(lResultado[10])) cuadroNombre4.configure(state='readonly') cuadroNombre5.insert(0,str(lResultado[20])) cuadroNombre5.configure(state='readonly') cuadroNombre6.insert(0,str(lResultado[11])) cuadroNombre6.configure(state='readonly') cuadroTipo.set(str(lResultado[1])) conexion.commit() except: messagebox.showerror(message="No se puede cargar el Ticket ID: " + str(sId) ,title="Notificación") def cambiaEstado(): try: sId = cuadroId.get() sOpcion = cuadroTipo.get() fcursor = conexion.cursor() sql = "UPDATE [dbo].[Ticket] SET [estado] = '" + sOpcion + "' WHERE [idTicket] = '" + sId + "'" fcursor.execute(sql) conexion.commit() messagebox.showinfo(message="Ticket ID: " + str(sId) + " Modificado correctamente" ,title="Notificación") except: messagebox.showerror(message="No se puede modificar el Ticket ID: " + str(sId) ,title="Notificación") Button(miFrame, text="Buscar",width="10", command=cargaEstado).grid(padx=5, pady=5, row=1, column=2, columnspan=1) Button(miFrame, text="Cambiar Estado",command=cambiaEstado).grid(padx=5, pady=5, row=9, column=1, columnspan=1) #fcursor = conexion.cursor() #sql="SELECT TOP 1 * FROM [dbo].[Usuarios] WHERE [usuario] = '"+str(self.usuario)+"'" #fcursor.execute(sql) #usuario = fcursor.fetchone() #cuadroNombre.insert(0,str(usuario[1])) #cuadroNombre.configure(state='readonly') #print(usuario) root.mainloop()
# creating a window win = tk.Tk() # window setup width = 960 height = 720 bgcolor = "white" win.title("Venture Union Pawnshops") win.geometry(f"{width}x{height}") win.configure(bg=bgcolor) win.resizable(False, False) # main frame f = Frame(win) f.configure(bg=bgcolor) # buttons addAnItem = tk.Button(f, text="Add an Item", font="Times 18", bg=bgcolor, fg="black") findAnItem = tk.Button(f, text="Find an Item", font="Times 18", bg=bgcolor, fg="black") newCustomer = tk.Button(f, text="Register a Customer", font="Times 18", bg=bgcolor, fg="black") findCustomer = tk.Button(f, text="Find a Customer", font="Times 18", bg=bgcolor, fg="black") inventoryTag = tk.Button(f, text="Create an Inventory Tag", font="Times 18", bg=bgcolor, fg="black") payment = tk.Button(f, text="Process a Payment", font="Times 18", bg=bgcolor, fg="black")
def create_widgets(self): frame = Frame(self, borderwidth=2, relief=SUNKEN) frame_buttons = Frame(self) frame_buttons.pack(side=BOTTOM, fill=X) frame.pack(side=TOP, expand=True, fill=BOTH) self.button_ok = Button(frame_buttons, text='Close', command=self.ok) self.button_ok.pack(padx=5, pady=5) frame_background = Frame(frame, bg=self.bg) frame_background.pack(expand=True, fill=BOTH) header = Label(frame_background, text='IDLE', fg=self.fg, bg=self.bg, font=('courier', 24, 'bold')) header.grid(row=0, column=0, sticky=E, padx=10, pady=10) tk_patchlevel = self.tk.call('info', 'patchlevel') ext = '.png' if tk_patchlevel >= '8.6' else '.gif' icon = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'Icons', f'idle_48{ext}') self.icon_image = PhotoImage(master=self._root(), file=icon) logo = Label(frame_background, image=self.icon_image, bg=self.bg) logo.grid(row=0, column=0, sticky=W, rowspan=2, padx=10, pady=10) byline_text = "Python's Integrated Development\nand Learning Environment" + 5 * '\n' byline = Label(frame_background, text=byline_text, justify=LEFT, fg=self.fg, bg=self.bg) byline.grid(row=2, column=0, sticky=W, columnspan=3, padx=10, pady=5) email = Label(frame_background, text='email: [email protected]', justify=LEFT, fg=self.fg, bg=self.bg) email.grid(row=6, column=0, columnspan=2, sticky=W, padx=10, pady=0) docs = Label(frame_background, text='https://docs.python.org/' + python_version()[:3] + '/library/idle.html', justify=LEFT, fg=self.fg, bg=self.bg) docs.grid(row=7, column=0, columnspan=2, sticky=W, padx=10, pady=0) Frame(frame_background, borderwidth=1, relief=SUNKEN, height=2, bg=self.bg).grid(row=8, column=0, sticky=EW, columnspan=3, padx=5, pady=5) pyver = Label(frame_background, text='Python version: ' + python_version(), fg=self.fg, bg=self.bg) pyver.grid(row=9, column=0, sticky=W, padx=10, pady=0) tkver = Label(frame_background, text='Tk version: ' + tk_patchlevel, fg=self.fg, bg=self.bg) tkver.grid(row=9, column=1, sticky=W, padx=2, pady=0) py_buttons = Frame(frame_background, bg=self.bg) py_buttons.grid(row=10, column=0, columnspan=2, sticky=NSEW) self.py_license = Button(py_buttons, text='License', width=8, highlightbackground=self.bg, command=self.show_py_license) self.py_license.pack(side=LEFT, padx=10, pady=10) self.py_copyright = Button(py_buttons, text='Copyright', width=8, highlightbackground=self.bg, command=self.show_py_copyright) self.py_copyright.pack(side=LEFT, padx=10, pady=10) self.py_credits = Button(py_buttons, text='Credits', width=8, highlightbackground=self.bg, command=self.show_py_credits) self.py_credits.pack(side=LEFT, padx=10, pady=10) Frame(frame_background, borderwidth=1, relief=SUNKEN, height=2, bg=self.bg).grid(row=11, column=0, sticky=EW, columnspan=3, padx=5, pady=5) idlever = Label(frame_background, text='IDLE version: ' + python_version(), fg=self.fg, bg=self.bg) idlever.grid(row=12, column=0, sticky=W, padx=10, pady=0) idle_buttons = Frame(frame_background, bg=self.bg) idle_buttons.grid(row=13, column=0, columnspan=3, sticky=NSEW) self.readme = Button(idle_buttons, text='README', width=8, highlightbackground=self.bg, command=self.show_readme) self.readme.pack(side=LEFT, padx=10, pady=10) self.idle_news = Button(idle_buttons, text='NEWS', width=8, highlightbackground=self.bg, command=self.show_idle_news) self.idle_news.pack(side=LEFT, padx=10, pady=10) self.idle_credits = Button(idle_buttons, text='Credits', width=8, highlightbackground=self.bg, command=self.show_idle_credits) self.idle_credits.pack(side=LEFT, padx=10, pady=10)
def __init__(self, parent, controller): tk.Frame.__init__(self, parent, bg="#f1f1f1") # title LSBDecryptTitleLabel = tk.Label(self, text="Extract Audio To Text", bg="#f1f1f1", fg="#0a3d62", font=LARGE_FONT) LSBDecryptTitleLabel.pack(pady=30, padx=30) frame2 = Frame(self, bg="#f1f1f1") frame2.pack(fill='x') # label AudioTextLabel = tk.Label(frame2, text="Audio", bg="#f1f1f1", fg="#0a3d62", width=16) AudioTextLabel.pack(side='left', padx=10, pady=5) # entry message PathFileText = tk.Entry(frame2, width=50, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) PathFileText.pack(side='left', padx=14) def openFileAudioExtract(): # read wave audio file global song filename = filedialog.askopenfilename() if filename: with open(filename) as f: song = wave.open(filename, mode='rb') # text_input = f.readline() PathFileText.insert(tk.END, "%s" % (filename)) openFileButton = tk.Button(frame2, text="Browse", command=openFileAudioExtract, bg="#0a3d62", fg="#ffffff", relief=tk.FLAT) openFileButton.pack(fill='x', pady=5, padx=10) # frame 4 frame4 = Frame(self, bg="#f1f1f1") frame4.pack(fill='x') # function decode def audiototext(): start_time = time() global decoded # Convert audio to byte array frame_bytes = bytearray(list(song.readframes(song.getnframes()))) # Extract the LSB of each byte extracted = [frame_bytes[i] & 1 for i in range(len(frame_bytes))] # Convert byte array back to string string = "".join( chr(int("".join(map(str, extracted[i:i + 8])), 2)) for i in range(0, len(extracted), 8)) # Cut off at the filler characters decoded = string.split("###")[0] # Print the extracted text print("Sucessfully decoded: " + decoded) song.close() end_time = time() time_taken = end_time - start_time hours, rest = divmod(time_taken, 3600) minutes, seconds = divmod(rest, 60) print("Time taken : ", format_timespan(end_time - start_time)) messagebox.showinfo("Success!", "Extract Audio To Text Success") # frame 5 frame5 = Frame(self, bg="#f1f1f1") frame5.pack(fill='x') # button decode decodeLSBExecuteButton = tk.Button(frame5, text="Extract", bg="#0a3d62", fg="#ffffff", command=audiototext) decodeLSBExecuteButton.pack(side='right', pady=5, padx=14) decodeLSBExecuteButton.configure(relief=tk.FLAT) def writeFile(): file = open('extract-msg.txt', 'a+') file.write(decoded) file.close() buttonWrite = Button(self, text='Write To File', bg="#0a3d62", fg="#f1f1f1", width=10, height=1, relief=tk.FLAT, command=writeFile) buttonWrite.pack(padx=14) # button back backButton = Button( self, text="Back", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(Verification)) backButton.pack(side='left', padx=14, pady=5) backButton.configure(relief=tk.FLAT) # button next nextButton = Button(self, text="Next", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(DecryptAES)) nextButton.pack(side='right', padx=14, pady=5) nextButton.configure(relief=tk.FLAT)
def album_menu(tracks, mapping, album, album_cover): root = Tk() root.title('Album-Menu') root.maxsize(250, 1000) root.iconbitmap(MENU_ICON) if len(tracks) > 20: container = Frame(root) canvas = Canvas(container, width=230, height=500) scrollbar = Scrollbar(container, orient="vertical", command=canvas.yview) canvas.bind_all( "<MouseWheel>", lambda e: canvas.yview_scroll(-1 * (int(e.delta / 120)), "units")) scrollable_frame = Frame(canvas) scrollable_frame.bind( "<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all"))) canvas.create_window((0, 0), window=scrollable_frame, anchor="w") canvas.configure(yscrollcommand=scrollbar.set) render = Image.open(BytesIO(album_cover)) render = ImageTk.PhotoImage(render.resize((250, 250))) img = Label(root, image=render) img.pack(anchor='n') mapping_display = [e[0] for e in mapping] mapping_index = [e[1] for e in mapping] box_values = [(IntVar(value=1), DISABLED) if n in mapping_display else (IntVar(value=0), NORMAL) for n, p, t, i in tracks] for n, p, t, i in tracks: frame = Frame(scrollable_frame if len(tracks) > 20 else root) c = Checkbutton(frame, text=f"{n:02}.", variable=box_values[i][0], state=box_values[i][1]) c.pack(side='left', anchor='n') song_title = Label(frame, text=t, justify='left', wraplength=180 if len(tracks) > 20 else 200) song_title.pack(side='right') frame.pack(anchor='w') if len(tracks) > 20: container.pack(anchor='w') canvas.pack(side="left", fill="both", expand=True) scrollbar.pack(side="right", fill="y") root.resizable(False, False) root.mainloop() for e in mapping_index: box_values[e][0].set(0) song_infos = [(p, (n, i)) for n, p, t, i in tracks if box_values[i][0].get()] added_songs = dict() for path, track0 in song_infos: added_songs[path] = (album, tracks, track0, album_cover) logger.info(f"Added {len(added_songs)} songs from {album['name']}") return added_songs
def GUI(): #Import main window global main #Listbox Frame construction noteframe = Frame(main) pathlist = Listbox(noteframe) #initialization of the class inst = File(listbox=pathlist) #bottombar construction bottombar = Frame(main) confirm = Button(bottombar, text="Make Podcast", height=2, background="green", foreground="white", command=midend_start) #Topbar construction topbar = Frame(main) #Three Topbar Buttons impFiles = Button(topbar, text="Import Files", command=inst.opFile, height=2) remFiles = Button(topbar, text="Remove Files", height=2, command=inst.delFile) prevFiles = Button(topbar, text="Preview File", height=2, command=inst.preview) #Packaging #Topbar Pack topbar.pack(side="top") prevFiles.pack(side="right") impFiles.pack(side="left") remFiles.pack(side="top") #Listbox Packs noteframe.pack(fill="both", expand="true") pathlist.pack(fill="both", expand="true") #Bottombar Packs bottombar.pack(side="right") confirm.pack() #menubar menubar = Menu(main) #Open Image or Text menubar.add_command(label="Import Images / Textdata", command=inst.opFile) #Close Current menubar.add_command(label="Remove Selected File", command=inst.delFile) #Preview Imported Image using standard Image Opener menubar.add_command(label="Preview selected File", command=inst.preview) #Help and Credits menubar.add_command(label="Help / Credits", command=credits_and_help) #other win config main.config(menu=menubar)
print(record2) record2[5]+=1 count+=1 record2[2]-=1 print("--------------------------------") #----------------------------------------------------------------------------------------------------------------- root = Tk() root.title("TT") root.geometry("500x200+100+200") frame = Frame(root, height=720, width=720, bd=4) frame.grid() sname = StringVar() l1 = Label(frame, text="Enter Subject name:-") l1.grid(row=0, column=0, sticky="e") e1 = Entry(frame, textvariable=sname) e1.grid(row=0, column=1) staff = StringVar() l2 = Label(frame, text="Enter Staff name:-") l2.grid(row=1, column=0, sticky="e") e2 = Entry(frame, textvariable=staff) e2.grid(row=1, column=1) h = IntVar() l3 = Label(frame, text="Enter Number of hours:-") l3.grid(row=2, column=0, sticky="e") e3 = Entry(frame, textvariable=h)
def __init__(self, root): # if MY_OS == 'Windows': imgpad = 155 xpadd = 5 ypadd = 5 basefont = 10 entryfont = 11 buttonpad = 202 elif MY_OS == 'Linux': imgpad = 170 xpadd = 5 ypadd = 5 basefont = 12 entryfont = 14 buttonpad = 210 else: imgpad = 190 xpadd = 5 ypadd = 5 basefont = 14 entryfont = 16 buttonpad = 210 # # Main widget background image frame0 = Frame(root) logoimgpath = resource_path("UPackLogo300.jpg") logo = Image.open(logoimgpath) self.logoimage = ImageTk.PhotoImage(logo) self.logoimglabel = Label(frame0, image=self.logoimage) self.logoimglabel.configure(bg='black', bd=0, relief='flat') self.logoimglabel.grid(column=0, row=0, pady=7, padx=imgpad, sticky='e') frame0.configure(bg=hokiestone, bd=5, relief='sunken') frame0.grid(column=0, row=0, pady=0, padx=0, sticky='nsew') # Entry for the Folder that contains the items frame1 = Frame(root) itemfolder = StringVar(frame1) labl1 = Label(frame1, text='Folder of\nItems:') labl1.configure(fg='black', bg=vtgray, bd=0, font=('Arial', basefont), height=2, width=9, justify='center') labl1.grid(column=0, row=0, pady=5, padx=5, sticky='e') browse1 = Button(frame1, text='Browse', command=lambda: self.ask_folder(itemfolder)) browse1.configure(bg=vtsmoke, fg='black', highlightbackground=vtmaroon, font=('Arial', entryfont)) browse1.grid(column=2, row=0, pady=5, padx=5, sticky='w') self.e1 = Entry(frame1, width=50, textvariable=itemfolder) self.e1.configure(bg=vtsmoke, relief='sunken', bd=2, font=('Arial', entryfont + 2), justify='left') self.e1.grid(column=1, row=0, pady=5, padx=0, sticky='w') # Entry for the master CSV metadata file csvfile = StringVar(frame1) labl2 = Label(frame1, text='CSV File:') labl2.configure(fg='black', bg=vtgray, bd=0, font=('Arial', basefont), height=2, width=9, justify='center') labl2.grid(column=0, row=1, pady=5, padx=5, sticky='e') browse2 = Button(frame1, text='Browse', command=lambda: self.ask_file(csvfile)) browse2.configure(bg=vtsmoke, fg='black', highlightbackground=vtmaroon, font=('Arial', entryfont), relief='raised') browse2.grid(column=2, row=1, pady=5, padx=5, sticky='w') self.e2 = Entry(frame1, width=50, textvariable=csvfile) self.e2.configure(bg=vtsmoke, relief='sunken', bd=2, font=('Arial', entryfont + 2), justify='left') self.e2.grid(column=1, row=1, pady=5, padx=0, sticky='w') # Drop-Down of the column headings in the master CSV file labl3 = Label(frame1, text='CSV Col.\nw/ ID\'s:') labl3.configure(fg='black', bg=vtgray, bd=0, font=('Arial', basefont), height=2, width=9, justify='center') labl3.grid(column=0, row=2, pady=5, padx=5, sticky='e') self.variable = StringVar(frame1) self.options = StringVar(frame1) self.options.trace('r', self.get_headers) firstone = ["Select CSV", "Then \'Refresh\'"] self.hdmenu = OptionMenu(frame1, self.variable, *firstone) self.hdmenu.configure(width=20, bg=vtmaroon, font=('Arial', basefont + 2)) self.hdmenu.grid(column=1, row=2, pady=5, padx=0, sticky='e') self.e3 = Entry(frame1, width=24, textvariable=self.variable) self.e3.configure(bg=vtsmoke, relief='sunken', bd=2, font=('Arial', entryfont + 2), justify='left') self.e3.grid(column=1, row=2, pady=5, padx=0, sticky='w') refresh1 = Button(frame1, text='Refresh', command=lambda: self.get_headers(csvfile)) refresh1.configure(bg=vtsmoke, fg='black', highlightbackground=vtmaroon, font=('Arial', entryfont)) refresh1.grid(column=2, row=2, pady=5, padx=5, sticky='w') frame1.configure(bg=vtmaroon, bd=5, relief='raised') frame1.grid(column=0, row=1, pady=0, padx=0, sticky='nsew') # Checkbuttons frame2 = ToggleFrame(root) frame2.configure(bg=hokiestone, bd=5, relief='sunken') frame2.grid(column=0, row=2, pady=0, padx=0, sticky='n') # Buttons for Quit, Instructions, and Submit frame3 = Frame(root) cancel1 = Button(frame3, text='Quit', command=root.quit) cancel1.configure(bg=vtwhite, fg='black', highlightbackground=vtmaroon, font=('Arial', entryfont)) cancel1.grid(column=0, row=0, pady=5, padx=xpadd, sticky='e') instruct = Button(frame3, text='Instructions', command=lambda: instructions(basefont)) instruct.configure(bg=vtwhite, fg='black', highlightbackground=vtmaroon, font=('Arial', entryfont)) instruct.grid(column=1, row=0, pady=5, padx=buttonpad, sticky='e') submit1 = Button(frame3, text='Submit', command=lambda: self.run_procs(root, frame2)) submit1.configure(bg=vtwhite, fg='black', highlightbackground=vtmaroon, font=('Arial', entryfont)) submit1.grid(column=2, row=0, pady=5, padx=xpadd, sticky='e') frame3.configure(bg=vtmaroon, bd=5, relief='raised') frame3.grid(column=0, row=3, pady=0, padx=0, sticky='nsew')
def __init__(self, parent): Frame.__init__(self, parent) self.show = IntVar() self.show.set(0) # if MY_OS == 'Windows': xpad = 0 ypad = 5 basefont = 10 spacepad = 152 elif MY_OS == 'Linux': xpad = 7 ypad = 5 basefont = 12 spacepad = 172 else: xpad = 7 ypad = 5 basefont = 14 spacepad = 175 # self.show_frame = Frame(self) self.space = Label(self.show_frame, text='') self.space.configure(fg=hokiestone, bg=hokiestone, relief='flat') self.space.grid(column=0, row=0, pady=0, padx=spacepad, sticky='e') self.togButton = Checkbutton(self.show_frame, text='Show Options', command=self.tog_options, variable=self.show, fg='black', bg=hokiestone, bd=4, font=('Arial', basefont), justify='left') self.togButton.grid(column=1, row=0, pady=0, padx=xpad, sticky='w') self.prompt = IntVar() self.prompt.set(0) self.promptButton = Checkbutton(self.show_frame, text='Prompt after Each Action?', variable=self.prompt, fg='black', bg=hokiestone, bd=4, font=('Arial', basefont), justify='left') self.promptButton.grid(column=2, row=0, pady=0, padx=xpad, sticky='w') # self.sub_frame = Frame(self) labl4 = Label(self.sub_frame, text='Options:') labl4.configure(fg='black', bg=vtgray, bd=0, font=('Arial', basefont), height=2, width=9, justify='center') labl4.grid(column=0, row=0, pady=5, padx=5, sticky='w') # Options checkbuttons # Metadata self.metavar = IntVar(self.sub_frame) meta_chk = Checkbutton(self.sub_frame, text='Create min\nmetadata files', variable=self.metavar, fg='black', bg=hokiestone, relief='flat', bd=4, font=('Arial', basefont), justify='left') meta_chk.grid(column=1, row=0, pady=5, padx=xpad) # Register objects self.regisvar = IntVar(self) regis_chk = Checkbutton(self.sub_frame, text='Register\nObjects', variable=self.regisvar, fg='black', bg=hokiestone, relief='flat', bd=4, font=('Arial', basefont), justify='left') regis_chk.grid(column=2, row=0, pady=5, padx=xpad) # Inventory self.invenvar = IntVar(self) inv_chk = Checkbutton(self.sub_frame, text='Generate\n\'manifest.csv\'', variable=self.invenvar, fg='black', bg=hokiestone, relief='flat', bd=4, font=('Arial', basefont), justify='left') inv_chk.grid(column=3, row=0, pady=5, padx=xpad) # BagIt self.bagitvar = IntVar(self) bagit_chk = Checkbutton(self.sub_frame, text='BagIt\n', variable=self.bagitvar, fg='black', bg=hokiestone, relief='flat', bd=4, font=('Arial', basefont), justify='left') bagit_chk.grid(column=4, row=0, pady=5, padx=xpad) # Tar self.tarvar = IntVar(self) tar_chk = Checkbutton(self.sub_frame, text='TAR\nObjects', variable=self.tarvar, fg='black', bg=hokiestone, relief='flat', bd=4, font=('Arial', basefont), justify='left') tar_chk.grid(column=5, row=0, pady=5, padx=xpad) # Transfer manifest self.transvar = IntVar(self) trans_chk = Checkbutton(self.sub_frame, text='Transfer\nManifest', variable=self.transvar, fg='black', bg=hokiestone, relief='flat', bd=4, font=('Arial', basefont), justify='left') trans_chk.grid(column=6, row=0, pady=5, padx=xpad) # Set defaults to "checked" self.metavar.set(1) self.regisvar.set(1) self.invenvar.set(1) self.bagitvar.set(1) self.tarvar.set(1) self.transvar.set(1) # self.sub_frame.configure(bd=2, bg=hokiestone, relief='raised') self.show_frame.configure(bd=2, bg=hokiestone, relief='flat') self.show_frame.grid(column=0, row=3, pady=0, padx=0, sticky='nsew')
import tkinter as tk from tkinter import Frame, Button, Label root = tk.Tk() frame = Frame(root) Label(frame, text="Pack demo of side and fill").pack() Button(frame, text="A").pack(side=tk.LEFT, fill=tk.Y) Button(frame, text="B").pack(side=tk.TOP, fill=tk.X) Button(frame, text="C").pack(side=tk.RIGHT, fill=tk.NONE) Button(frame, text="D").pack(side=tk.TOP, fill=tk.BOTH) frame.pack() Label(root, text="Pack demo of expand").pack() Button(root, text="I do not expand").pack() Button(root, text="I do not fill x but i expand").pack(expand=1) Button(root, text="I fill x and expand").pack(fill=tk.X, expand=1) root.mainloop()
def __init__(self, parent, controller): Frame.__init__(self, parent) # Instance variables with page/window info of current frame self.controller = controller self.window = parent # Instance variables for widgets showing/picking user's desired # # directory. # self.entry_frame = Frame(self.controller, relief="raised", height=15) self.entry_frame.pack(side="top", anchor="nw", padx=2, pady=2, fill="x") # -Event handler for displaying user's desired directory self.choice_display = Entry(self.entry_frame, width=105) self.xml_dir = StringVar(self.controller) self.xml_dir.set(getcwd()) self.user_choice() # -Object that contains XML paths and file counts self.xml = GetXMLPath() # Instance variables for the CheckButton widgets # self.checkbox_frame = LabelFrame(self.controller, text="Boards", relief="sunken") self.checkbox_frame.pack(side="top", anchor="nw", padx=2, pady=2, fill="x") self.seq_list = [ 'SSP', 'XGRAD', 'YGRAD', 'ZGRAD', 'RHO1', 'RHO2', 'THETA1', 'THETA2' ] # -Event handler for selecting desired boards self.board_options = CheckBar(self.checkbox_frame, picks=self.seq_list) self.show_options() # Instance variable for Scrollable frame widgets # self.canvas_frame = Frame(self.controller, relief="sunken") self.canvas_frame.pack(side="top", anchor="nw", padx=2, pady=2, fill="both", expand=True) # -Instance variables for the figure to be populated params = SubplotParams(left=0.25, right=0.95, top=0.98, bottom=0.02) self.plot_fig = Figure(figsize=[14.0, 18.0], subplotpars=params, constrained_layout=False) self.plot_fig.subplots_adjust(hspace=1.0) # -Setup for changing the size of the axes in the plot widths = [1] heights = self.get_repeat_list([0.65], 8) self.plot_fig.add_gridspec(nrows=8, ncols=1, width_ratios=widths, height_ratios=heights) # -Instance variable for the frame with scrolling functionality self.canvas_body = Scrollable(self.canvas_frame, self.plot_fig) self.mpl_canvas = self.canvas_body.mpl_cnv # Instance variables for the widgets controlling the animation # self.control_frame = Frame(self.controller, relief="sunken") self.control_frame.pack(side="bottom", anchor="sw", fill="x") # -Instance variables for the displaying the current time-point # in the animation self.shot_info = StringVar(self.controller) self.shot_info.set("Shot #: ") self.show_shot_num = Label(self.control_frame, textvariable=self.shot_info) # -Instance variables for the animation and navigation of plots self.toolbar = NavTb2(self.mpl_canvas, self.control_frame) self.canvas_setup() self.animator = ShotAnimator(self.plot_fig) self.animator.step_up_button(self.control_frame) self.animator.stop_button(self.control_frame) self.animator.step_dwn_button(self.control_frame) self.show_shot_num.pack(side="right", anchor="sw", fill="x")
list_apm = [] length = len(list_apm) start_program = True cancel_program = False end_listener = False time_start = datetime.now() timestamp = time_start.strftime("%B %d, %Y Started: %H:%M:%S") #Start program master = tk.Tk() master.geometry('350x200+500+300') master.title('APM Calculator') frame = Frame(master, width=200, height=600) frame.pack() #When a key is pressed def on_press(key): global actions, key_clicks, end_listener if end_listener != True: actions += 1 key_clicks += 1 #print('{0}'.format(key)) else: return False #When mouse buttons are pressed def on_click(x, y, button, pressed): global actions, mouse_clicks, end_listener
def __init__(self, parent, controller): tk.Frame.__init__(self, parent, bg="#f1f1f1") # title LSBEncodeTitleLabel = tk.Label(self, text="Hide Text to Audio", bg="#f1f1f1", fg="#0a3d62", font=LARGE_FONT) LSBEncodeTitleLabel.pack(pady=30, padx=30) # frame 1 frame1 = Frame(self, bg="#f1f1f1") frame1.pack(fill='x') # label LSBEncodeTextLabel = tk.Label(frame1, text="Text", bg="#f1f1f1", fg="#0a3d62", width=16) LSBEncodeTextLabel.pack(side='left', padx=10, pady=5) # entry message LSBEncodePathFileText = tk.Entry(frame1, width=50, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) LSBEncodePathFileText.pack(side='left', padx=14) # browse def openFile(): global text_input filename = filedialog.askopenfilename() if filename: with open(filename) as f: text_input = open(filename, 'r') text_input = f.readline() print("Cipher Message : ", text_input) LSBEncodePathFileText.insert(tk.END, "%s" % (filename)) openFileButton = tk.Button(frame1, text="Browse", command=openFile, bg="#0a3d62", fg="#ffffff", relief=tk.FLAT) openFileButton.pack(fill='x', pady=5, padx=10) frame2 = Frame(self, bg="#f1f1f1") frame2.pack(fill='x') # label AudioTextLabel = tk.Label(frame2, text="Audio", bg="#f1f1f1", fg="#0a3d62", width=16) AudioTextLabel.pack(side='left', padx=10, pady=5) # entry message PathFileText = tk.Entry(frame2, width=50, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) PathFileText.pack(side='left', padx=14) def openFileAudio(): # read wave audio file global song filename = filedialog.askopenfilename() if filename: with open(filename) as f: song = wave.open(filename, mode='rb') # text_input = f.readline() PathFileText.insert(tk.END, "%s" % (filename)) openFileButton = tk.Button(frame2, text="Browse", command=openFileAudio, bg="#0a3d62", fg="#ffffff", relief=tk.FLAT) openFileButton.pack(fill='x', pady=5, padx=10) # frame 4 frame4 = Frame(self, bg="#f1f1f1") frame4.pack(fill='x') # function encode def texttoaudio(): start_time = time() # Read frames and convert to byte array frame_bytes = bytearray(list(song.readframes(song.getnframes()))) # text message string = text_input # Append dummy data to fill out rest of the bytes. Receiver shall detect and remove these characters. string = string + int( (len(frame_bytes) - (len(string) * 8 * 8)) / 8) * '#' # Convert text to bit array bits = list( map( int, ''.join([ bin(ord(i)).lstrip('0b').rjust(8, '0') for i in string ]))) # Replace LSB of each byte of the audio data by one bit from the text bit array for i, bit in enumerate(bits): frame_bytes[i] = (frame_bytes[i] & 254) | bit # Get the modified bytes frame_modified = bytes(frame_bytes) # Write bytes to a new wave audio file with wave.open('song_embedded.wav', 'wb') as fd: fd.setparams(song.getparams()) fd.writeframes(frame_modified) song.close() end_time = time() time_taken = end_time - start_time hours, rest = divmod(time_taken, 3600) minutes, seconds = divmod(rest, 60) print("Time taken : ", format_timespan(end_time - start_time)) messagebox.showinfo("Success!", "Hide Text in Audio Success") # frame 5 frame5 = Frame(self, bg="#f1f1f1") frame5.pack(fill='x') # button encode encodeLSBExecuteButton = tk.Button(frame5, text="Hide", bg="#0a3d62", fg="#ffffff", command=texttoaudio) encodeLSBExecuteButton.pack(side='right', pady=5, padx=14) encodeLSBExecuteButton.configure(relief=tk.FLAT) def getHashAudio(): global fileHash md5hasher = FileHash('md5') md5hasher.hash_file('song_embedded.wav') fileHash = md5hasher.hash_file('song_embedded.wav') filehash_audio = open('hash-audio-password.txt', 'a+') filehash_audio.write(fileHash) filehash_audio.close() print("FileHash : ", fileHash) messagebox.showinfo("File Hash", fileHash) loadFileButton = tk.Button(self, text="Get Hash Audio", command=getHashAudio, bg="#0a3d62", fg="#ffffff", width=12, height=1, relief=tk.FLAT) loadFileButton.pack(padx=14) # button back backButton = Button(self, text="Back", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(EncryptAES)) backButton.pack(side='left', padx=14, pady=5) backButton.configure(relief=tk.FLAT) # button next nextButton = Button(self, text="Next", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(MainMenu)) nextButton.pack(side='right', padx=14, pady=5) nextButton.configure(relief=tk.FLAT)
def __init__(self, parent): self.is_future = False #inputday hour = StringVar() hour.set('0--23') minute = StringVar() minute.set('0--59') self.btncheck_list = [] self.plistback = [] #self.judgepas = [] self.varp = [] #num与它有关 num = -1 self.page = 0 self.allpage = 0 self.next = parent self.next.geometry('960x930+300+0') self.canvas = Canvas(self.next) self.canvas.place(relx=0, rely=0, relwidth=1, relheight=1) """ self.vbar = Scrollbar(self.canvas, orient=VERTICAL) # 竖直滚动条 self.vbar.place(x=180, width=20, height=180) self.vbar.configure(command=self.canvas.yview) self.canvas.config( yscrollcommand=self.vbar.set) # 设置 self.canvas.create_window((90, 240), window=self.frame) # create_window """ self.frameAll = Frame(self.canvas, bg='#f0f0f0') self.frameAll.place(relx=0, rely=0, relwidth=1, relheight=1) self.next.title('车站信息') self.nresulte = StringVar() self.nresulte.set('北京') # 显示面板显示结果1,用于显示默认数字0 self.nresulte1 = StringVar() self.nresulte1.set('天津') self.nresulte2 = StringVar() self.nresulte2.set('2018') self.nresulte3 = StringVar() self.nresulte3.set('07') self.nresulte4 = StringVar() self.nresulte4.set('01') self.nresulte5 = StringVar() self.nresulte5.set(strtime) def sendtimeInfor(): print('我进来了') self.top.destroy() def show_success(): self.book_tickets = Toplevel(self.next) self.book_tickets.title("抢票") self.book_tickets.geometry('480x130+300+0') l = Label(self.book_tickets, font=('微软雅黑', 12), fg='green', bd='1', anchor='w', text='抢票成功!!!') l.pack() def check_book_f(): if lo.myTickets.book_tickets_on_sale(self.tickets_list[5], self.inputday, self.plistback): show_success() print('future') def check_book_t(): if lo.myTickets.book_tickets_on_sale(self.tickets_list[5], self.inputday, self.plistback): show_success() print('on sale') # self.nresulte = StringVar() # self.nresulte.set('请您输入用户名') # self.nresulte1 = StringVar() # self.nresulte1.set('请您输入密码') def sendInfor(): value = self.entryfromdayyear.get() value2 = self.entryfromdaymonth.get() value3 = self.entryfromdayday.get() #print(value[0:4]) print(value.isdigit()) print(len(value)) print(len(value2)) if value.isdigit() == False or value2.isdigit( ) == False or value3.isdigit() == False or len(value) != 4 or len( value2) != 2 or len(value3) != 2: self.nresulte2.set('2018') self.nresulte3.set('07') self.nresulte3.set('01') #print( self.entryfromday.get()) self.entryfromdayyear = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='red', textvariable=self.nresulte2) self.entryfromdayyear.place(relx=0.59, rely=0.17, width=50, height=30) self.entryfromdaymonth = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='red', textvariable=self.nresulte3) self.entryfromdaymonth.place(relx=0.68, rely=0.17, width=30, height=30) self.entryfromdayday = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='red', textvariable=self.nresulte4) self.entryfromdayday.place(relx=0.75, rely=0.17, width=30, height=30) lo.set_judgecheck(0) self.inputday = value + '-' + value2 + '-' + value3 inputdaydt = datetime.datetime.strptime(self.inputday, '%Y-%m-%d') print(self.inputday) print(maxday) if self.inputday == maxday: self.is_future = True if self.is_future == True: self.top = Toplevel(self.next) self.top.title("抢票时间") self.top.geometry('480x130+300+0') l = Label(self.top, font=('微软雅黑', 12), fg='red', bd='1', anchor='w', text='还无法抢' + self.inputday + '的票,请输入开始抢票时间') l.pack() lh = Label(self.top, font=('微软雅黑', 12), bg='#D2E9FF', bd='1', fg='black', anchor='w', text='时:') lh.place(relx=0.15, rely=0.2, width=70, height=30) print("我执行了") eh = Entry(self.top, font=('微软雅黑', 12), bg='white', bd='1', fg='#828282', textvariable=hour) eh.place(relx=0.35, rely=0.2, width=150, height=30) lm = Label(self.top, font=('微软雅黑', 12), bg='#D2E9FF', bd='1', fg='black', anchor='w', text='分:') lm.place(relx=0.15, rely=0.45, width=70, height=30) em = Entry(self.top, font=('微软雅黑', 12), bg='white', bd='1', fg='#828282', textvariable=minute) em.place(relx=0.35, rely=0.45, width=150, height=30) btnright = Button(self.top, font=( '微软雅黑', 12, ), bg='#ffa042', fg='white', text='确 定', activeforeground='#00FFFF', command=sendtimeInfor) btnright.place(relx=0.35, rely=0.7, width=150, height=30) if inputdaydt >= todaytime + datetime.timedelta( days=-1) and inputdaydt <= maxdaytime: print('good') self.labeldtx = Label(self.frametx, font=('微软雅黑', 12), bd='9', fg='red', anchor='w', text=' ') self.labeldtx.place(relx=0.5, rely=0.17, width=90, height=20) lo.set_judgecheck(1) else: self.labeldtx = Label(self.frametx, font=('微软雅黑', 12), bd='9', fg='red', anchor='w', text='时间超限') self.labeldtx.place(relx=0.5, rely=0.17, width=90, height=20) lo.set_judgecheck(0) print(lo.get_judgecheck()) if lo.get_judgecheck() == 1: self.entryfromday = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='black', textvariable=self.nresulte2) self.entryfromday.place(relx=0.59, rely=0.17, width=50, height=30) self.entryfromdayyear.place(relx=0.59, rely=0.17, width=50, height=30) self.entryfromdaymonth = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='black', textvariable=self.nresulte3) self.entryfromdaymonth.place(relx=0.68, rely=0.17, width=30, height=30) self.entryfromdayday = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='black', textvariable=self.nresulte4) self.entryfromdayday.place(relx=0.75, rely=0.17, width=30, height=30) self.tickets_list = lo.myTickets.get_tickets_info( self.entryfrom.get(), self.entryto.get(), self.inputday, self.is_future) numtl = 0 #self.mylb.delete(0,END) self.tllen = len(self.tickets_list) self.page = 1 self.allpage = int((self.tllen) / 20) + 1 for item in self.tickets_list[0:20]: placey = numtl * 0.05 string = ' ' for k, v in item.items(): if k != 'bookable' and k != 'book_btn': string = string + '{:^8}'.format(v) #print(string) self.stationtickets_list = Label(self.mylb, font=('微软雅黑', 10), bg='white', bd='9', width=90, height=1, fg='black', anchor='w', text=string) self.stationtickets_list.place(relx=0, rely=placey) if item['bookable'] == False: if self.is_future == True: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_f) self.btncheck.place(relx=0.88, rely=placey) else: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_t) self.btncheck.place(relx=0.88, rely=placey) else: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, bg='#ffa042', fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_t) self.btncheck.place(relx=0.88, rely=placey) #strnum = str(numtl)+' '+string numtl = numtl + 1 print('here') #print(strnum) self.mylb.insert(END, self.stationtickets_list) self.mylb.insert(END, self.btncheck) self.labelnum = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text=self.page) self.labelnum.place(relx=0.475, rely=0.92, width=20, height=30) self.labelnum3 = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text=self.allpage) self.labelnum3.place(relx=0.505, rely=0.92, width=20, height=30) self.btnup = Button(self.frameAll, font=( '微软雅黑', 12, ), fg='black', text='上 一 页', activeforeground='#00FFFF', command=page_last) self.btnup.place(relx=0.42, rely=0.92, width=80, height=30) ''' self.frame4 = Frame(self.frameAll, width=150, height=300) self.frame4.place(relx=0.03,rely=0.26) ''' lo.set_judgecheck(-1) def bindcbtnpas(): for num in range(len(self.varp)): print(self.varp[num].get()) if self.varp[num].get() == 1: a = 0 for num1 in self.plistback: if self.passengers[num] == num1: a = 1 if a == 0: self.plistback.append((self.passengers[num])) if self.varp[num].get() == 0: b = 0 for num1 in self.plistback: if self.passengers[num] == num1: b = 1 if b == 1: self.plistback.remove((self.passengers[num])) print(self.plistback) self.frame = Frame(self.frameAll, bg='#D2E9FF', width=950, height=45) self.frame.place(relx=0.2, rely=0.03) self.frametx = Frame(self.frameAll, width=950, height=37) self.frametx.place(relx=0.2, rely=0.08) # place,pace,grid self.labely = Label(self.frame, font=('微软雅黑', 12), bg='#D2E9FF', bd='9', fg='black', anchor='w', text='出发地:') self.labely.place(relx=0.05, rely=0.17, width=70, height=30) self.labelm = Label(self.frame, font=('微软雅黑', 12), bg='#D2E9FF', bd='9', fg='black', anchor='w', text='目的地:') self.labelm.place(relx=0.275, rely=0.17, width=70, height=30) self.labeld = Label(self.frame, font=('微软雅黑', 12), bg='#D2E9FF', bd='9', fg='black', anchor='w', text='出发日期:') self.labeld.place(relx=0.5, rely=0.17, width=90, height=30) self.labeldtx = Label(self.frametx, font=('微软雅黑', 9), bd='9', fg='blue', anchor='w', textvariable=self.nresulte5) self.labeldtx.place(relx=0.05, rely=0.1, width=250, height=30) self.labeldy = Label(self.frame, font=('微软雅黑', 12), bg='#D2E9FF', bd='9', fg='black', anchor='w', text='年') self.labeldy.place(relx=0.64, rely=0.17, width=90, height=30) self.labeldm = Label(self.frame, font=('微软雅黑', 12), bg='#D2E9FF', bd='9', fg='black', anchor='w', text='月') self.labeldm.place(relx=0.71, rely=0.17, width=90, height=30) self.labeldd = Label(self.frame, font=('微软雅黑', 12), bg='#D2E9FF', bd='9', fg='black', anchor='w', text='日') self.labeldd.place(relx=0.78, rely=0.17, width=90, height=30) self.entryfrom = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='#828282', textvariable=self.nresulte) self.entryfrom.place(relx=0.12, rely=0.17, width=150, height=30) self.entryto = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='#828282', textvariable=self.nresulte1) self.entryto.place(relx=0.345, rely=0.17, width=150, height=30) self.entryfromdayyear = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='#828282', textvariable=self.nresulte2) self.entryfromdayyear.place(relx=0.59, rely=0.17, width=50, height=30) self.entryfromdaymonth = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='#828282', textvariable=self.nresulte3) self.entryfromdaymonth.place(relx=0.68, rely=0.17, width=30, height=30) self.entryfromdayday = Entry(self.frame, font=('微软雅黑', 9), bg='white', bd='1', fg='#828282', textvariable=self.nresulte4) self.entryfromdayday.place(relx=0.75, rely=0.17, width=30, height=30) self.btncheck = Button(self.frame, font=( '微软雅黑', 12, ), bg='#ffa042', fg='white', text='查 询', activeforeground='#00FFFF', command=sendInfor) self.btncheck.place(relx=0.85, rely=0.17, width=80, height=30) ''' def bindcbtn(): if var.get() == 1: print('a') # 跳出函数 else: print('b') if var1.get() == 1: print('a1') else: print('b1') if var2.get() == 1: print('a2') else: print('b2') if var3.get() == 1: print('a3') else: print('b3') if var4.get() == 1: print('a4') else: print('b4') if var5.get() == 1: print('a5') else: print('b5') self.frame1 = Frame(self.frameAll, bg='white', width=950, height=45, bd='1') self.frame1.place(relx=0.2, rely=0.12) var = IntVar() var1 = IntVar() var2 = IntVar() var3 = IntVar() var4 = IntVar() var5 = IntVar() self.checkbutton = Checkbutton(self.frame1, font=('微软雅黑', 9), bg='white', bd='9', fg='black', anchor='w', text='全部', variable=var, onvalue=1, offvalue=0, command=bindcbtn) self.checkbutton.place(relx=0.05, rely=0.17, width=70, height=30) #self.checkbutton.select() self.checkbutton1 = Checkbutton(self.frame1, font=('微软雅黑', 9), bg='white', bd='9', fg='black', anchor='w', text='GC-高铁/城际', variable=var1, onvalue=1, offvalue=0, command=bindcbtn) self.checkbutton1.place(relx=0.2, rely=0.17, width=110, height=30) self.checkbutton2 = Checkbutton(self.frame1, font=('微软雅黑', 9), bg='white', bd='9', fg='black', anchor='w', text='D-动车', variable=var2, onvalue=1, offvalue=0, command=bindcbtn) self.checkbutton2.place(relx=0.35, rely=0.17, width=70, height=30) self.checkbutton3 = Checkbutton(self.frame1, font=('微软雅黑', 9), bg='white', bd='9', fg='black', anchor='w', text='Z-直达', variable=var3, onvalue=1, offvalue=0, command=bindcbtn) self.checkbutton3.place(relx=0.5, rely=0.17, width=70, height=30) self.checkbutton4 = Checkbutton(self.frame1, font=('微软雅黑', 9), bg='white', bd='9', fg='black', anchor='w', text='T-特快', variable=var4, onvalue=1, offvalue=0, command=bindcbtn) self.checkbutton4.place(relx=0.65, rely=0.17, width=70, height=30) self.checkbutton5 = Checkbutton(self.frame1, font=('微软雅黑', 9), bg='white', bd='9', fg='black', anchor='w', text='K-快速', variable=var5, onvalue=1, offvalue=0, command=bindcbtn) self.checkbutton5.place(relx=0.8, rely=0.17, width=70, height=30) ''' self.passengers = lo.myTickets._get_passengers() self.frame2 = Frame(self.frameAll, width=150, height=300) self.frame2.place(relx=0.03, rely=0.03) for pas in self.passengers: #self.judge.append(0) num = num + 1 self.varp.append(IntVar()) self.checkbuttonp = Checkbutton(self.frame2, font=('微软雅黑', 9), text=pas, anchor='w', variable=self.varp[num], onvalue=1, offvalue=0, command=bindcbtnpas) self.checkbuttonp.grid() ''' 'trainNumber':'', 'fromStation':'', 'toStation':'', 'departTime':'', 'arriveTime':'', 'period':'', 'specialSeat':'', 'oneClassSeat':'', 'twoClassSeat':'', 'advancedSoftSleeper':'', 'softSleeper':'', 'hardSleeper':'', 'motionSleeper':'', 'softSeat':'', 'hardSeat':'', 'noSeat':'', 'bookable':False, 'book_btn':None ''' self.frame3 = Frame(self.frameAll, bg='#D2E9FF', width=950, height=40) self.frame3.place(relx=0.2, rely=0.12) self.stationlabal = Label( self.frame3, font=('微软雅黑', 10, 'bold'), anchor='w', bg='#D2E9FF', fg='black', text= ' 车次 出发站 到达站 出发时间 到达时间 历时 特等座 一等座 二等座 高级软卧 软卧 硬卧 动卧 软座 硬座 无座' ) self.stationlabal.place(relx=0, rely=0, relwidth=1, relheight=1) self.mylb = Listbox(self.frameAll, font=('微软雅黑', 15), bd='0', width=79, height=20) #self.sl = Scrollbar(self.canvas) #self.sl.pack(side=RIGHT, fill=Y) #self.mylb['yscrollcommand'] = self.sl.set #self.sl['command']=self.mylb.yview self.mylb.place(relx=0.2, rely=0.21) for item in range(0, 20): self.mylb.insert(END, ' ') def page_last(): if self.page > 1: self.page = self.page - 1 if self.page < self.allpage: self.btndown = Button(self.frameAll, font=( '微软雅黑', 12, ), bg='#ffa042', fg='black', text='下 一 页', activeforeground='#00FFFF', command=page_next) self.btndown.place(relx=0.52, rely=0.92, width=80, height=30) if self.page == 1: self.btnup = Button(self.frameAll, font=( '微软雅黑', 12, ), fg='black', text='上 一 页', activeforeground='#00FFFF', command=page_last) self.btnup.place(relx=0.42, rely=0.92, width=80, height=30) self.labelnum = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text=self.page) self.labelnum.place(relx=0.475, rely=0.92, width=20, height=30) numtl = 0 self.begin = (self.page - 1) * 20 self.end = self.page * 20 for item in self.tickets_list[self.begin:self.end]: placey = numtl * 0.05 string = ' ' for k, v in item.items(): if k != 'bookable' and k != 'book_btn': string = string + '{:^8}'.format(v) self.stationtickets_list = Label(self.mylb, font=('微软雅黑', 10), bg='white', bd='9', width=90, height=1, fg='black', anchor='w', text=string) self.stationtickets_list.place(relx=0, rely=placey) if item['bookable'] == False: if self.is_future == True: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_f) self.btncheck.place(relx=0.88, rely=placey) else: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_t) self.btncheck.place(relx=0.88, rely=placey) else: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, bg='#ffa042', fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_t) self.btncheck.place(relx=0.88, rely=placey) #strnum = str(numtl)+' '+string numtl = numtl + 1 #print('here') self.mylb.insert(END, self.stationtickets_list) self.mylb.insert(END, self.btncheck) def page_next(): if self.page < self.allpage: self.page = self.page + 1 if self.page > 1: self.btnup = Button(self.frameAll, font=( '微软雅黑', 12, ), bg='#ffa042', fg='black', text='上 一 页', activeforeground='#00FFFF', command=page_last) self.btnup.place(relx=0.42, rely=0.92, width=80, height=30) if self.page == self.allpage: self.btnup = Button(self.frameAll, font=( '微软雅黑', 12, ), fg='black', text='下 一 页', activeforeground='#00FFFF', command=page_next) self.btnup.place(relx=0.52, rely=0.92, width=80, height=30) for item in range(20 - self.tllen // 20): placeybug = 0.95 - item * 0.05 self.stationtickets_list = Label(self.mylb, font=('微软雅黑', 12), bg='white', bd='9', width=100, height=1, fg='black', anchor='w', text=' ') self.stationtickets_list.place(relx=0, rely=placeybug) self.labelnum = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text=self.page) self.labelnum.place(relx=0.475, rely=0.92, width=20, height=30) numtl = 0 self.begin = (self.page - 1) * 20 self.end = self.page * 20 for item in self.tickets_list[self.begin:self.end]: placey = numtl * 0.05 string = ' ' for k, v in item.items(): if k != 'bookable' and k != 'book_btn': string = string + '{:^8}'.format(v) self.stationtickets_list = Label(self.mylb, font=('微软雅黑', 10), bg='white', bd='9', width=90, height=1, fg='black', anchor='w', text=string) self.stationtickets_list.place(relx=0, rely=placey) if item['bookable'] == False: if self.is_future == True: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_f) self.btncheck.place(relx=0.88, rely=placey) else: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_t) self.btncheck.place(relx=0.88, rely=placey) else: self.btncheck = Button(self.mylb, font=('微软雅黑', 11), width=9, height=1, bg='#ffa042', fg='black', text='预 订', activeforeground='#00FFFF', command=check_book_t) self.btncheck.place(relx=0.88, rely=placey) #strnum = str(numtl)+' '+string numtl = numtl + 1 #print('here') #print(self.page) self.mylb.insert(END, self.stationtickets_list) self.mylb.insert(END, self.btncheck) else: print('wo zai zhe li') self.btnup = Button(self.frameAll, font=( '微软雅黑', 12, ), bg='#ffa042', fg='black', text='上 一 页', activeforeground='#00FFFF', command=page_last) self.btnup.place(relx=0.42, rely=0.92, width=80, height=30) self.btndown = Button(self.frameAll, font=( '微软雅黑', 12, ), bg='#ffa042', fg='black', text='下 一 页', activeforeground='#00FFFF', command=page_next) self.btndown.place(relx=0.52, rely=0.92, width=80, height=30) self.labelnum = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text='-') self.labelnum.place(relx=0.475, rely=0.92, width=20, height=30) self.labelnum2 = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text='/') self.labelnum2.place(relx=0.493, rely=0.92, width=10, height=30) self.labelnum3 = Label(self.frameAll, font=('微软雅黑', 12, 'bold'), fg='black', text='-') self.labelnum3.place(relx=0.50, rely=0.92, width=20, height=30) """
def __init__(self, parent, controller): tk.Frame.__init__(self, parent, bg="#f1f1f1") # title verifyTitleLabel = tk.Label(self, text="Verify Audio File", bg="#f1f1f1", fg="#0a3d62", font=LARGE_FONT) verifyTitleLabel.pack(pady=30, padx=30) # frame audio frameEntryAudio = Frame(self, bg="#f1f1f1") frameEntryAudio.pack(fill='x') # label verifyTextLabel = tk.Label(frameEntryAudio, text="Audio", bg="#f1f1f1", fg="#0a3d62", width=20) verifyTextLabel.pack(side='left', pady=5, padx=10) # entry stego audio load_audio_path = tk.Entry(frameEntryAudio, width=50, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) load_audio_path.pack(side='left', padx=14) def browseAudio(): global fileAudio global filename_audio filename_audio = filedialog.askopenfilename() dir_path = os.path.split(filename_audio)[0] global audioFileHash audioFileHash = FileHash('md5') audioFileHash.hash_file(filename_audio) audioFileHash = audioFileHash.hash_file(filename_audio) print("FileHash : ", audioFileHash) load_audio_path.insert(tk.END, filename_audio) # button browse openFileButton = tk.Button(frameEntryAudio, text="Browse", bg="#0a3d62", fg="#ffffff", relief=tk.FLAT, command=browseAudio) openFileButton.pack(fill='x', pady=5, padx=14) # frame hash frameEntryHash = Frame(self, bg="#f1f1f1") frameEntryHash.pack(fill='x') # label hashAudioLabel = tk.Label(frameEntryHash, text="File Hash", bg="#f1f1f1", fg="#0a3d62", width=20) hashAudioLabel.pack(side='left', pady=5, padx=10) # entry hash hashAudioInput = tk.StringVar() audioHashText = tk.Entry(frameEntryHash, width=70, textvariable=hashAudioInput, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) audioHashText.pack(fill='x', padx=14) def verifyHash(): hashAudio = hashAudioInput.get() print("FileHash : ", hashAudio) if ((audioFileHash == hashAudio)): messagebox.showinfo("Verification", "File Hash is correct") print("File Hash is correct") else: messagebox.showinfo("Verification", "Incorrect File Hash") print("Incorrect File Hash") # frame button verify frameButtonVerify = Frame(self, bg="#f1f1f1") frameButtonVerify.pack(fill='x') # button verify printHashButton = tk.Button(frameButtonVerify, text="Verification", command=verifyHash, bg="#0a3d62", fg="#ffffff", relief=tk.FLAT) printHashButton.pack(side='right', padx=14, pady=5) # button back backButton = Button(self, text="Back", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(MainMenu)) backButton.pack(side='left', padx=14, pady=5) backButton.configure(relief=tk.FLAT) # button next nextButton = Button(self, text="Next", bg="#0a3d62", fg="#ffffff", relief=tk.FLAT, command=lambda: controller.show_frame(ExtractLSB)) nextButton.pack(side='right', padx=14, pady=5)
def __top_frame(self): """ Create top frame content """ self._selected_modulation = StringVar(self._tk_obj) self._selected_channel = StringVar(self._tk_obj) self._selected_sync_mode = StringVar(self._tk_obj) self._cbx_manchester_value = IntVar(self._tk_obj) frame = Frame(self._tk_obj, borderwidth=1, relief=SUNKEN, bg='#fff') frame.grid(column=0, row=0, padx=15, pady=15, sticky=W + E) frame.grid_rowconfigure(0, weight=1) frame.grid_columnconfigure(0, weight=1) # headline lab_section = Label(frame, text="Default RF Settings") lab_section.grid(columnspan=6, row=0, padx=5, pady=5, sticky=W + E) lab_section.configure(font=self.__FONT_HEADLINE) # frequency lab_frequency = Label(frame, text='Frequency') lab_frequency.grid(column=0, row=1, padx=5, pady=5, sticky=E) lab_frequency.configure(font=self.__FONT_STYLE) self._ety_frequency = Entry(frame) self._ety_frequency.grid(column=1, row=1, padx=5, pady=5, sticky=W) self._ety_frequency.configure(font=self.__FONT_STYLE) value_frequency = self.rf_object.getFreq() self._ety_frequency.insert(0, int(value_frequency[0])) # modulation lab_modulation = Label(frame, text='Modulation') lab_modulation.grid(column=0, row=2, padx=5, pady=5, sticky=E) lab_modulation.configure(font=self.__FONT_STYLE) opm_modulation = OptionMenu(frame, self._selected_modulation, *self.__MODULATION_OPTIONS) opm_modulation.grid(column=1, row=2, padx=5, pady=5, sticky=W) opm_modulation.configure(font=self.__FONT_STYLE) value_modulation = self.rf_object.getMdmModulation() if value_modulation == 0: self._selected_modulation.set(self.__MODULATION_OPTIONS[1]) elif value_modulation == 16: self._selected_modulation.set(self.__MODULATION_OPTIONS[2]) elif value_modulation == 48: self._selected_modulation.set(self.__MODULATION_OPTIONS[3]) elif value_modulation == 112: self._selected_modulation.set(self.__MODULATION_OPTIONS[4]) else: self._selected_modulation.set(self.__MODULATION_OPTIONS[0]) # channel lab_channel = Label(frame, text='Channel') lab_channel.grid(column=0, row=3, padx=5, pady=5, sticky=E) lab_channel.configure(font=self.__FONT_STYLE) sbx_channel = Spinbox(frame, state='readonly') sbx_channel.grid(column=1, row=3, padx=5, pady=5, sticky=W) sbx_channel.configure(font=self.__FONT_STYLE) self._selected_channel.set(self.rf_object.getChannel()) sbx_channel.configure(from_=0, to=10, increment=1, textvariable=self._selected_channel) # baud rate lab_baud = Label(frame, text='Baud Rate') lab_baud.grid(column=2, row=1, padx=5, pady=5, sticky=E) lab_baud.configure(font=self.__FONT_STYLE) self._ety_baud = Entry(frame) self._ety_baud.grid(column=3, row=1, padx=5, pady=5, sticky=W) self._ety_baud.configure(font=self.__FONT_STYLE) self._ety_baud.insert(0, int(self.rf_object.getMdmDRate())) # deviation lab_deviation = Label(frame, text='Deviation') lab_deviation.grid(column=2, row=2, padx=5, pady=5, sticky=E) lab_deviation.configure(font=self.__FONT_STYLE) self._ety_deviation = Entry(frame) self._ety_deviation.grid(column=3, row=2, padx=5, pady=5, sticky=W) self._ety_deviation.configure(font=self.__FONT_STYLE) self._ety_deviation.insert(0, int(self.rf_object.getMdmDeviatn())) self._ety_deviation.configure(state='readonly') # channel bandwidth lab_channel_bandwidth = Label(frame, text='Channel BW') lab_channel_bandwidth.grid(column=2, row=3, padx=5, pady=5, sticky=E) lab_channel_bandwidth.configure(font=self.__FONT_STYLE) self._ety_channel_bandwidth = Entry(frame) self._ety_channel_bandwidth.grid(column=3, row=3, padx=5, pady=5, sticky=W) self._ety_channel_bandwidth.configure(font=self.__FONT_STYLE) self._ety_channel_bandwidth.insert(0, int(self.rf_object.getMdmChanBW())) self._ety_channel_bandwidth.configure(state='readonly') # sync mode lab_sync_mode = Label(frame, text='Sync Mode') lab_sync_mode.grid(column=4, row=1, padx=5, pady=5, sticky=E) lab_sync_mode.configure(font=self.__FONT_STYLE) sbx_sync_mode = Spinbox(frame, state='readonly') sbx_sync_mode.grid(column=5, row=1, padx=5, pady=5, sticky=W) sbx_sync_mode.configure(font=self.__FONT_STYLE) self._selected_sync_mode.set(self.rf_object.getMdmSyncMode()) sbx_sync_mode.configure(from_=0, to=7, increment=1, textvariable=self._selected_sync_mode) # sync word lab_sync_word = Label(frame, text='Sync Word') lab_sync_word.grid(column=4, row=2, padx=5, pady=5, sticky=E) lab_sync_word.configure(font=self.__FONT_STYLE) self._ety_sync_word = Entry(frame) self._ety_sync_word.grid(column=5, row=2, padx=5, pady=5, sticky=W) self._ety_sync_word.configure(font=self.__FONT_STYLE) self._ety_sync_word.insert(0, self.rf_object.getMdmSyncWord()) self._ety_sync_word.configure(state='readonly') # channel spacing lab_channel_spacing = Label(frame, text='Channel Spacing') lab_channel_spacing.grid(column=4, row=3, padx=5, pady=5, sticky=E) lab_channel_spacing.configure(font=self.__FONT_STYLE) self._ety_channel_spacing = Entry(frame) self._ety_channel_spacing.grid(column=5, row=3, padx=5, pady=5, sticky=W) self._ety_channel_spacing.configure(font=self.__FONT_STYLE) value_channel_spacing = self.rf_object.getMdmChanSpc() self._ety_channel_spacing.insert(0, int(value_channel_spacing)) self._ety_channel_spacing.configure(state='readonly') # enable manchester lab_manchester = Label(frame, text='Enable Manchester') lab_manchester.grid(column=0, row=4, padx=5, pady=5, sticky=E) lab_manchester.configure(font=self.__FONT_STYLE) cbx_manchester = Checkbutton(frame) cbx_manchester.grid(column=1, row=4, padx=5, pady=5, sticky=W) if self.rf_object.getEnableMdmManchester() == 1: self._cbx_manchester_value.set(1) else: self._cbx_manchester_value.set(0) cbx_manchester.configure(onvalue=1, offvalue=0, variable=self._cbx_manchester_value) # save settings self._btn_save_settings = Button(frame, text='Save all Settings', command=self.__action_store_settings) self._btn_save_settings.grid(column=5, row=4, padx=5, pady=5) self._btn_save_settings.configure(font=self.__FONT_STYLE) self._btn_save_settings.bind( "<Enter>", lambda event: event.widget.config(fg='indian red')) self._btn_save_settings.bind( "<Leave>", lambda event: event.widget.config(fg='black'))
def __init__(self, parent, controller): tk.Frame.__init__(self, parent, bg="#f1f1f1") # title RC4DecryptTitleLabel = tk.Label(self, text="Decryption RC4", bg="#f1f1f1", fg="#0a3d62", font=LARGE_FONT) RC4DecryptTitleLabel.pack(pady=30, padx=30) # frame 1 frame1 = Frame(self, bg="#f1f1f1") frame1.pack(fill='x') # label RC4DecryptTextLabel = tk.Label(frame1, text="Ciphertext RC4", bg="#f1f1f1", fg="#0a3d62", width=16) RC4DecryptTextLabel.pack(side='left', padx=10, pady=5) # entry message RC4DecryptPathFileText = tk.Entry(frame1, width=50, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) RC4DecryptPathFileText.pack(side='left', padx=14) # browse def openFile(): global cipher_rc4_message filename = filedialog.askopenfilename() if filename: with open(filename) as f: cipher_rc4_message = open(filename, 'r') cipher_rc4_message = f.readline() print("Cipher Message : ", cipher_aes_message) RC4DecryptPathFileText.insert(tk.END, "%s" % (filename)) openFileButton = tk.Button(frame1, text="Browse", command=openFile, bg="#0a3d62", fg="#ffffff", relief=tk.FLAT) openFileButton.pack(fill='x', pady=5, padx=10) # frame 3 frame3 = Frame(self, bg="#f1f1f1") frame3.pack(fill='x') # label RC4DecryptKeyLabel = tk.Label(frame3, text="Key", bg="#f1f1f1", fg="#0a3d62", width=16) RC4DecryptKeyLabel.pack(side='left', pady=5, padx=10) # entry key rc4_key = tk.StringVar() RC4DecryptKeyText = tk.Entry(frame3, textvariable=rc4_key, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) RC4DecryptKeyText.pack(fill='x', padx=14) # frame 4 frame4 = Frame(self, bg="#f1f1f1") frame4.pack(fill='x') # function decrypt def decrypt_RC4(): start_time = time() global decrypttext_rc4_in_str print("Cipher Message : ", cipher_rc4_message) plain_aes = cipher_rc4_message key = rc4_key.get() print("Key : ", key) decrypttext_rc4 = decrypt(plain_aes, key) decrypttext_rc4_in_str = bytes.decode(decrypttext_rc4) print("Normal Message : ", decrypttext_rc4_in_str) output_rc4.insert(tk.END, "%s" % (decrypttext_rc4_in_str)) end_time = time() time_taken = end_time - start_time hours, rest = divmod(time_taken, 3600) minutes, seconds = divmod(rest, 60) print("Time taken : ", format_timespan(end_time - start_time)) messagebox.showinfo("Success!", "Decrypt RC4 Success") # frame 5 frame5 = Frame(self, bg="#f1f1f1") frame5.pack(fill='x') # button decrypt decryptRC4ExecuteButton = tk.Button(frame5, text="Decrypt RC4", bg="#0a3d62", fg="#ffffff", command=decrypt_RC4) decryptRC4ExecuteButton.pack(side='right', pady=5, padx=14) decryptRC4ExecuteButton.configure(relief=tk.FLAT) # frame 4 frame4 = Frame(self, bg="#f1f1f1") frame4.pack(fill='x') # label RC4DecryptCipherLabel = tk.Label(frame4, text="Plaintext", bg="#f1f1f1", fg="#0a3d62", width=16) RC4DecryptCipherLabel.pack(side='left', pady=5, padx=10) # entry key output_rc4 = tk.Entry(frame4, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) output_rc4.pack(fill='x', padx=14) def writeFile(): file = open('decrypt-rc4_file.txt', 'a+') file.write(decrypttext_rc4_in_str) file.close() buttonWrite = Button(self, text='Write To File', bg="#0a3d62", fg="#f1f1f1", width=10, height=1, relief=tk.FLAT, command=writeFile) buttonWrite.pack(padx=14) # button back backButton = Button(self, text="Back", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(DecryptAES)) backButton.pack(side='left', padx=14, pady=5) backButton.configure(relief=tk.FLAT) # button next nextButton = Button(self, text="Next", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(MainMenu)) nextButton.pack(side='right', padx=14, pady=5) nextButton.configure(relief=tk.FLAT)
def __middle_frame(self): """ Create middle frame content """ frame = Frame(self._tk_obj, borderwidth=1, relief=SUNKEN, bg='#fff') frame.grid(column=0, row=1, padx=15, pady=15, sticky=W + E) frame.grid_rowconfigure(0, weight=1) frame.grid_columnconfigure(0, weight=1) # headline lab_section = Label(frame, text="Transmit RF Settings") lab_section.grid(columnspan=6, row=0, padx=5, pady=5, sticky=W + E) lab_section.configure(font=self.__FONT_HEADLINE) # message lab_message_to_send = Label(frame, text='Message') lab_message_to_send.grid(column=0, row=1, padx=5, pady=5, sticky=E) lab_message_to_send.configure(font=self.__FONT_STYLE) self._ety_message_to_send = Entry(frame, width=50) self._ety_message_to_send.grid(column=1, row=1, padx=5, pady=5, sticky=W) self._ety_message_to_send.configure(font=self.__FONT_STYLE) btn_clear = Button(frame, text='Clear message', command=self.__action_clear_message) btn_clear.grid(column=2, row=1, padx=5, pady=5) btn_clear.configure(font=self.__FONT_STYLE) # repeats lab_repeats = Label(frame, text='Repeats') lab_repeats.grid(column=3, row=1, padx=5, pady=5, sticky=E) lab_repeats.configure(font=self.__FONT_STYLE) self._sbx_repeats = Spinbox(frame, width=10) self._sbx_repeats.grid(column=4, row=1, padx=5, pady=5, sticky=W) self._sbx_repeats.configure(from_=0, to=50, increment=5, state='readonly') self._sbx_repeats.configure(font=self.__FONT_STYLE) # button send self._btn_send = Button(frame, text='Start transmit', command=self.__action_send_signal) self._btn_send.grid(column=5, row=1, padx=5, pady=5, sticky=E) self._btn_send.configure(font=self.__FONT_STYLE) self._btn_send.bind("<Enter>", lambda event: event.widget.config(fg='indian red')) self._btn_send.bind("<Leave>", lambda event: event.widget.config(fg='black')) self._txt_send_status = Text(frame, height=10) self._txt_send_status.grid(columnspan=6, row=2, padx=5, pady=5, sticky=W + E) self._txt_send_status.configure(state='disabled', borderwidth=1, relief=SOLID)
#GUI #implementation menu_frame menu_frame = tk.Tk() menu_frame.title("DMFC in-situ Analyse") menu_frame.geometry("{}x{}".format(500, 350)) menu_frame.maxsize(500, 350) menu_frame.config(bg='lightgrey') menu_frame.iconbitmap('zbt_logo.ico') menu_frame.grid_rowconfigure(0, weight=1) menu_frame.grid_rowconfigure(1, weight=1) #implementation of subframes(top,bot) of menu_frame top_menu_frame = Frame(menu_frame, bg='blue', width=500, height=350) top_menu_frame.grid_propagate(0) bot_menu_frame = Frame(menu_frame, bg='green', width=500, height=50) bot_menu_frame.grid_propagate(0) top_menu_frame.grid(row=0) bot_menu_frame.grid(row=1) #implementation Buttons #button - import menu_frame_button1 = tk.Button(top_menu_frame, text='Import EIS Measurement', width=40, command=lambda: get_eis_file(menu_frame))
def __bottom_frame(self): """ Create bottom frame content """ self._cbx_max_power_value = IntVar(self._tk_obj) self._cbx_lowball_value = IntVar(self._tk_obj) frame = Frame(self._tk_obj, borderwidth=1, relief=SUNKEN, bg='#fff') frame.grid(column=0, row=2, padx=15, pady=15, sticky=W + E) frame.grid_rowconfigure(0, weight=1) frame.grid_columnconfigure(0, weight=1) # headline txt_section = Label(frame, text="Receive RF Settings") txt_section.grid(columnspan=6, row=0, padx=5, pady=5, sticky=W + E) txt_section.configure(font=self.__FONT_HEADLINE) # lowball lab_lowball = Label(frame, text='Lowball') lab_lowball.grid(column=0, row=1, padx=5, pady=5, sticky=E) lab_lowball.configure(font=self.__FONT_STYLE) # @ToDo: implementation lowball cbx_lowball = Checkbutton(frame, state='disabled') cbx_lowball.grid(column=1, row=1, padx=5, pady=5, sticky=W) cbx_lowball.configure(onvalue=1, offvalue=0, variable=self._cbx_lowball_value) # max power lab_max_power = Label(frame, text='max Power') lab_max_power.grid(column=2, row=1, padx=5, pady=5, sticky=E) lab_max_power.configure(font=self.__FONT_STYLE) # @ToDo: implementation of max power cbx_max_power = Checkbutton(frame, state='disabled') cbx_max_power.grid(column=3, row=1, padx=5, pady=5, sticky=W) cbx_max_power.configure(onvalue=1, offvalue=0, variable=self._cbx_max_power_value) # receive signal self._btn_receive = Button(frame, text='Start receive', command=self.__action_receive_signal) self._btn_receive.grid(column=4, row=1, padx=5, pady=5) self._btn_receive.configure(font=self.__FONT_STYLE) self._btn_receive.bind( "<Enter>", lambda event: event.widget.config(fg='indian red')) self._btn_receive.bind("<Leave>", lambda event: event.widget.config(fg='black')) # copy to clipboard self._btn_copy = Button(frame, text='Copy to clipboard', command=self.__action_copy_to_clipboard) self._btn_copy.grid(column=5, row=1, padx=5, pady=5) self._btn_copy.configure(font=self.__FONT_STYLE) self._btn_copy.bind("<Enter>", lambda event: event.widget.config(fg='indian red')) self._btn_copy.bind("<Leave>", lambda event: event.widget.config(fg='black')) # status self._stx_receive_status = ScrolledText(frame) self._stx_receive_status.grid(columnspan=6, row=2, padx=5, pady=5, sticky=W + E) self._stx_receive_status.configure(height=12, font=self.__FONT_STYLE, borderwidth=1, relief=SOLID)
def populate_frame(id): customerInfoFrameA = Frame(customerInfoFrame) customerInfoFrameA.configure(bg="black") customerInfoFrameB = Frame(customerInfoFrame) customerInfoFrameB.configure(bg=bgcolor) customerInfoFrameC = Frame(customerInfoFrame) customerInfoFrameC.configure(bg=bgcolor) title = tk.Label(customerInfoFrameA, text="Customer Information", bg="black", fg="white", font="Times 32") title.grid(column=0, row=0) def goBack(): for a in customerInfoFrame.winfo_children(): a.destroy() customerInfoFrame.grid_remove() win.geometry("1200x720") regCustomerFrame.grid() back = tk.Button(customerInfoFrameA, text="Go Back", font="Times 18", bg=bgcolor, fg="black", command=goBack) back.grid(column=1, row=0) cur.execute( f"SELECT *, CAST((CAST(TO_CHAR(CURRENT_DATE, 'YYYYMMDD') AS INT) - " f"CAST(TO_CHAR(birth_date, 'YYYYMMDD') AS INT)) AS INT)/10000 \"Age\" " f"FROM customer WHERE customer_id={id}") info = cur.fetchone() label = tk.Label(customerInfoFrameB, text="Customer ID:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=0, row=0) label = tk.Label(customerInfoFrameB, text=info[0], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=1, row=0) label = tk.Label(customerInfoFrameB, text="Last Name:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=0, row=1) label = tk.Label(customerInfoFrameB, text=info[1], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=1, row=1) label = tk.Label(customerInfoFrameB, text="Given Name:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=2, row=1) label = tk.Label(customerInfoFrameB, text=info[2], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=3, row=1) label = tk.Label(customerInfoFrameB, text="Middle Initial:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=4, row=1) label = tk.Label(customerInfoFrameB, text=info[3], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=5, row=1) label = tk.Label(customerInfoFrameB, text="Address:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=0, row=2) label = tk.Label(customerInfoFrameB, text=info[4], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=45, anchor="w") label.grid(column=1, row=2, columnspan=3) label = tk.Label(customerInfoFrameB, text="City:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=4, row=2) label = tk.Label(customerInfoFrameB, text=info[5], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=5, row=2) label = tk.Label(customerInfoFrameB, text="Mobile:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=0, row=3) label = tk.Label(customerInfoFrameB, text=info[6], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=1, row=3) label = tk.Label(customerInfoFrameB, text="Landline:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=2, row=3) label = tk.Label(customerInfoFrameB, text=info[7], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=3, row=3) label = tk.Label(customerInfoFrameB, text="Postal Code:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=4, row=3) label = tk.Label(customerInfoFrameB, text=info[8], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=5, row=3) label = tk.Label(customerInfoFrameB, text="Birth Date:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=0, row=4) label = tk.Label(customerInfoFrameB, text=info[9], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=1, row=4) label = tk.Label(customerInfoFrameB, text="Age:", bg="white", fg="black", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="e") label.grid(column=2, row=4) label = tk.Label(customerInfoFrameB, text=info[10], bg="white", fg="blue", font="Times 12", borderwidth=0, relief="solid", width=15, anchor="w") label.grid(column=3, row=4) button = tk.Button(customerInfoFrameC, text="Add Pawn", font="Times 18", bg=bgcolor, fg="red", command=temp1) button.grid(column=0, row=0) button = tk.Button(customerInfoFrameC, text="View Active Pawns", font="Times 18", bg=bgcolor, fg="red", command=temp2) button.grid(column=1, row=0) button = tk.Button(customerInfoFrameC, text="View History", font="Times 18", bg=bgcolor, fg="red", command=temp3) button.grid(column=2, row=0) customerInfoFrameA.grid() customerInfoFrameB.grid() customerInfoFrameC.grid()
mainWindow.title("My First GUI") # Create Menu & Filemenu menubar = Menu(mainWindow) # Tearoff = nicht standardmäßig aufgeklappt. filemenu = Menu(menubar, tearoff=0) filemenu.add_command(label="Open file", command=openFile) filemenu.add_command(label="Open new window", command=doNothingButton) filemenu.add_separator() filemenu.add_command(label="Exit", command=mainWindow.destroy) menubar.add_cascade(label="File", menu=filemenu) # Layout Management / Frames & LabelFrames mainFrameTop = Frame(mainWindow) mainFrameTop.pack(side="top", fill="both", expand="yes") groupBoxFrame = groupBoxes("Button Options", "left", mainFrameTop) btnFill = Button(groupBoxFrame, text="ButtonFill") btnFill.pack(fill="x") btnExpand = Button(groupBoxFrame, text="ButtonExpand") btnExpand.pack(expand="yes") btnSide = Button(groupBoxFrame, text="buttonSide") btnSide.pack(side="right") # CHoice option frame & grid methods for layout management choiceOptionFrame = groupBoxes("Choice Options", "right", mainFrameTop)
def editarPerfil(self): root=Tk() root.title("Editar Perfil de Usuario") root.resizable(width=0, height=0) root.geometry("350x280") root.wm_iconbitmap("imagenes/imagen6.ico") varOpcion=IntVar() miFrame=Frame(root, width=400, height=200) miFrame.pack() mensaje=Label(miFrame,text="\nDatos del Usuario:\n") mensaje.grid(row=0, column=0, columnspan=2) cuadroNombre=Entry(miFrame) cuadroNombre.grid(row=5, column=1, padx=5, pady=5) cuadroNombre2=Entry(miFrame) cuadroNombre2.grid(row=2, column=1, padx=5, pady=5) cuadroNombre3=Entry(miFrame) cuadroNombre3.grid(row=3, column=1, padx=5, pady=5) cuadroNombre4=Entry(miFrame) cuadroNombre4.grid(row=4, column=1, padx=5, pady=5) cuadroNombre5=Entry(miFrame) cuadroNombre5.grid(row=1, column=1, padx=5, pady=5) cuadroNombre6=Entry(miFrame) cuadroNombre6.config(show="*"); cuadroNombre6.grid(row=6, column=1, padx=5, pady=5) nombreLabel=Label(miFrame, text="Nombre: ") nombreLabel.grid(row=2, column=0, sticky="n", padx=5, pady=5) nombreLabel2=Label(miFrame, text="Apellido: ") nombreLabel2.grid(row=3, column=0, sticky="n", padx=5, pady=5) nombreLabel3=Label(miFrame, text="Correo: ") nombreLabel3.grid(row=5, column=0, sticky="n", padx=5, pady=5) nombreLabel4=Label(miFrame, text="DNI: ") nombreLabel4.grid(row=4, column=0, sticky="n", padx=5, pady=5) nombreLabel5=Label(miFrame, text="Usuario: ") nombreLabel5.grid(row=1, column=0, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Contraseña: ") nombreLabel6.grid(row=6, column=0, sticky="n", padx=5, pady=5) fcursor = conexion.cursor() sql="SELECT TOP 1 * FROM [dbo].[Usuarios] WHERE [usuario] = '"+str(self.usuario)+"'" #print(sql) fcursor.execute(sql) usuario = fcursor.fetchone() cuadroNombre.insert(0,str(usuario[1])) cuadroNombre2.insert(0,str(usuario[2])) cuadroNombre3.insert(0,str(usuario[3])) cuadroNombre4.insert(0,str(usuario[4])) cuadroNombre5.insert(0,str(usuario[7])) cuadroNombre6.insert(0,str(usuario[8])) if (usuario[9]!="Admin"): cuadroNombre.configure(state='readonly') cuadroNombre2.configure(state='readonly') cuadroNombre3.configure(state='readonly') cuadroNombre4.configure(state='readonly') cuadroNombre5.configure(state='readonly') #cuadroNombre6.configure(state='readonly') #print(usuario) def guardaDatos(): sNombre = cuadroNombre.get() sApellido = cuadroNombre2.get() sCorreo = cuadroNombre3.get() sDNI = cuadroNombre4.get() sUsuario = cuadroNombre5.get() sContrasena = cuadroNombre6.get() lDatos = [sNombre,sApellido,sCorreo,sDNI,sUsuario,sContrasena] if ("" not in lDatos): #print(lDatos) try: fcursor = conexion.cursor() sql = """UPDATE [dbo].[Usuarios] SET [nombres] = '"""+sNombre+"""' ,[apellidos] = '"""+sApellido+"""' ,[correo] = '"""+sCorreo+"""' ,[dni] = '"""+sDNI+"""' ,[usuario] = '"""+sUsuario+"""' ,[pass] = '"""+sContrasena+"""' WHERE [usuario] = '"""+sUsuario+"""' """ #print(sql) fcursor.execute(sql) conexion.commit() messagebox.showinfo(message="Datos editados con éxito",title="Notificación") except Exception as e: messagebox.showerror(message="Error al actualizar datos" + str(e),title="Notificación") else: messagebox.showerror(message="Complete todos los datos",title="Notificación") self.editarPerfil() def cargaDatosOtro(): sUsuario = cuadroNombre5.get() fcursor = conexion.cursor() sql="SELECT TOP 1 * FROM [dbo].[Usuarios] WHERE [usuario] = '"+str(sUsuario)+"'" #print(sql) fcursor.execute(sql) usuario = fcursor.fetchone() if (usuario): conexion.commit() cuadroNombre.delete(0, tk.END) cuadroNombre2.delete(0, tk.END) cuadroNombre3.delete(0, tk.END) cuadroNombre4.delete(0, tk.END) cuadroNombre5.delete(0, tk.END) cuadroNombre6.delete(0, tk.END) cuadroNombre.insert(0,str(usuario[1])) cuadroNombre2.insert(0,str(usuario[2])) cuadroNombre3.insert(0,str(usuario[3])) cuadroNombre4.insert(0,str(usuario[4])) cuadroNombre5.insert(0,str(usuario[7])) cuadroNombre6.insert(0,str(usuario[8])) else: cuadroNombre.delete(0, tk.END) cuadroNombre2.delete(0, tk.END) cuadroNombre3.delete(0, tk.END) cuadroNombre4.delete(0, tk.END) cuadroNombre5.delete(0, tk.END) cuadroNombre6.delete(0, tk.END) Button(miFrame, text="Editar Datos",width="20", command=guardaDatos).grid(padx=5, pady=5, row=7, column=0, columnspan=2) fcursor = conexion.cursor() sql="SELECT TOP 1 * FROM [dbo].[Usuarios] WHERE [usuario] = '"+str(self.usuario)+"'" #print(sql) fcursor.execute(sql) usuario = fcursor.fetchone() if (usuario[9]=="Admin"): Button(miFrame, text="Carga",width="10", command=cargaDatosOtro).grid(padx=5, pady=5, row=1, column=2, columnspan=1) root.mainloop()
def __init__(self, root, load, exit): self.panel_frame = Frame(root, height=60, width=100)
def cargaTicket(self): root=Tk() root.title("Historial de Ticket's") root.resizable(width=0, height=0) root.iconbitmap("imagenes/imagen6.ico") varOpcion=IntVar() miFrame=Frame(root, width=400, height=250) miFrame.pack() tv = ttk.Treeview(miFrame) tv.grid(column=0, row=0, padx=10, pady=10, columnspan=4) def reporte(): try: fcursor = conexion.cursor() dFecha = str(fechaEntry.get()) dFechaFin = str(fechaEntryFin.get()) #print(dFecha) sql="""SELECT * FROM [TicketBD].[dbo].[Ticket], [DetalleTicket],[Usuarios],[TipoCategoria] WHERE [Ticket].idTipoCategoria=[TipoCategoria].idTipoCategoria AND [DetalleTicket].idTicket=[Ticket].idTicket AND [Usuarios].id = [DetalleTicket].idUsuario AND fecha >= '""" + dFecha + """' AND fecha <= '"""+dFechaFin+"""'""" #print(sql) fcursor.execute(sql) lResultado = fcursor.fetchall() conexion.commit() import openpyxl wb = openpyxl.Workbook() hoja = wb.active # Crea la fila del encabezado con los títulos hoja.append(('ID', 'ESTADO', 'ASUNTO', 'MENSAJE', 'FECHA', 'CATEGORIA', "NOMBRE", "APELLIDOS", "CORREO","DNI")) for lElemento in lResultado: hoja.append(list([lElemento[0],lElemento[1],lElemento[4],lElemento[3],lElemento[5],lElemento[20],lElemento[9],lElemento[10],lElemento[11],lElemento[12]])) from datetime import datetime dFecha=str(datetime.now()) dFecha=dFecha.replace(" ","") dFecha=dFecha.replace(".","") dFecha=dFecha.replace("-","") dFecha=dFecha.replace(":","") wb.save("reporte"+dFecha+".xlsx") #fcursor.close() messagebox.showinfo(message="Reporte generado con éxito",title="Notificación") except Exception as e: messagebox.showerror(message="Error al generar el reporte "+str(e),title="Notificación") fcursor = conexion.cursor() sql="SELECT TOP 1 * FROM [dbo].[Usuarios] WHERE [usuario] = '"+str(self.usuario)+"'" fcursor.execute(sql) usuario = fcursor.fetchone() fecha = Label(miFrame, text="Fecha Inicio (01/01/2021)", bg="white") fechaFin = Label(miFrame, text="Fecha Fin (31/12/2021)", bg="white") fecha.grid(column = 0, row = 2,padx=10,pady=5) fechaFin.grid(column = 2, row = 2,padx=10,pady=5) fechaEntry = ttk.Entry(miFrame, width=10) fechaEntryFin = ttk.Entry(miFrame, width=10) fechaEntry.delete(0, tk.END) fechaEntry.insert(0, "01/01/2021") fechaEntryFin.delete(0, tk.END) fechaEntryFin.insert(0, "31/12/2021") fechaEntry.grid(column = 1, row = 2,padx=10,pady=5) fechaEntryFin.grid(column = 3, row = 2,padx=10,pady=5) if (usuario[9]!="Admin"): fechaEntry.state(["disabled"]) fechaEntryFin.state(["disabled"]) bt = ttk.Button(miFrame, text="Generar Reporte", command=reporte) bt.grid(column=0, row=3, padx=10,pady=5, sticky='', columnspan=4) if (usuario[9]!="Admin"): bt.state(["disabled"]) tv['columns']=("ID","ESTADO","ASUNTO","MENSAJE","FECHA","CATEGORIA") tv.column('#0', width=0, stretch=NO) tv.column('ID', anchor=CENTER, width=25) tv.column('ESTADO', anchor=CENTER, width=100) tv.column('ASUNTO', anchor=CENTER, width=80) tv.column('MENSAJE', anchor=CENTER, width=80) tv.column('FECHA', anchor=CENTER, width=80) tv.column('CATEGORIA', anchor=CENTER, width=80) tv.heading('#0', text='', anchor=CENTER) tv.heading('ID', text='ID', anchor=CENTER) tv.heading('ESTADO', text='ESTADO', anchor=CENTER) tv.heading('ASUNTO', text='ASUNTO', anchor=CENTER) tv.heading('MENSAJE', text='MENSAJE', anchor=CENTER) tv.heading('FECHA', text='FECHA', anchor=CENTER) tv.heading('CATEGORIA', text='CATEGORIA', anchor=CENTER) fcursor = conexion.cursor() sql="""SELECT * FROM [TicketBD].[dbo].[Ticket], [DetalleTicket],[Usuarios],[TipoCategoria] WHERE [Ticket].idTipoCategoria=[TipoCategoria].idTipoCategoria AND [DetalleTicket].idTicket=[Ticket].idTicket AND [Usuarios].id = [DetalleTicket].idUsuario and [Usuarios].usuario = '"""+self.usuario+"""'""" #print(sql) fcursor.execute(sql) lResultado = fcursor.fetchall() conexion.commit() for ele in tv.get_children(): tv.delete(ele) if(len(lResultado)>0): idValor = 0 for item in lResultado: tv.insert(parent='', index=idValor, iid= idValor, text='', values=(item[0],item[1],item[4],item[3],item[5],item[20])) idValor=idValor+1
def __init__(self, parent, controller): tk.Frame.__init__(self, parent, bg="#f1f1f1") # title AESEncryptTitleLabel = tk.Label(self, text="Encryption AES", bg="#f1f1f1", fg="#0a3d62", font=LARGE_FONT) AESEncryptTitleLabel.pack(pady=30, padx=30) # frame 1 frame1 = Frame(self, bg="#f1f1f1") frame1.pack(fill='x') # label AESEncryptTextLabel = tk.Label(frame1, text="Ciphertext RC4", bg="#f1f1f1", fg="#0a3d62", width=16) AESEncryptTextLabel.pack(side='left', padx=10, pady=5) # entry message AESEncryptPathFileText = tk.Entry(frame1, width=50, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) AESEncryptPathFileText.pack(side='left', padx=14) # browse def openFile(): # global filename global cipher_rc4_msg filename = filedialog.askopenfilename() if filename: with open(filename) as f: cipher_rc4_msg = open(filename, 'r') cipher_rc4_msg = f.readline() print("Cipher Message : ", cipher_rc4_msg) AESEncryptPathFileText.insert(tk.END, "%s" % (filename)) openFileButton = tk.Button(frame1, text="Browse", command=openFile, bg="#0a3d62", fg="#ffffff", relief=tk.FLAT) openFileButton.pack(fill='x', pady=5, padx=10) # frame 3 frame3 = Frame(self, bg="#f1f1f1") frame3.pack(fill='x') # label AESEncryptKeyLabel = tk.Label(frame3, text="Key", bg="#f1f1f1", fg="#0a3d62", width=16) AESEncryptKeyLabel.pack(side='left', pady=5, padx=10) # entry key aes_key = tk.StringVar() AESEncryptKeyText = tk.Entry(frame3, textvariable=aes_key, bg="#ffffff", fg="#0a3d62", relief=tk.FLAT) AESEncryptKeyText.pack(fill='x', padx=14) # frame 4 frame4 = Frame(self, bg="#f1f1f1") frame4.pack(fill='x') # function encrypt def encrypt_AES(): start_time = time() global ciphertext_aes global ciphertext_aes_in_str print("Cipher Message : ", cipher_rc4_msg) msg_aes = cipher_rc4_msg key = aes_key.get() print("Key : ", key) ciphertext_aes = encrypt(msg_aes, key) ciphertext_aes_in_str = bytes.decode(ciphertext_aes) print("Cipher Message : ", ciphertext_aes_in_str) output_aes.insert(tk.END, "%s" % (ciphertext_aes_in_str)) end_time = time() time_taken = end_time - start_time hours, rest = divmod(time_taken, 3600) minutes, seconds = divmod(rest, 60) print("Time taken : ", format_timespan(end_time - start_time)) messagebox.showinfo("Success!", "Encrypt AES Success") # frame 5 frame5 = Frame(self, bg="#f1f1f1") frame5.pack(fill='x') # button encrypt encryptAESExecuteButton = tk.Button(frame5, text="Encrypt AES", bg="#0a3d62", fg="#ffffff", command=encrypt_AES) encryptAESExecuteButton.pack(side='right', pady=5, padx=14) encryptAESExecuteButton.configure(relief=tk.FLAT) # frame 4 frame4 = Frame(self, bg="#f1f1f1") frame4.pack(fill='x') # label AESEncryptCipherLabel = tk.Label(frame4, text="Ciphertext AES", bg="#f1f1f1", fg="#0a3d62", width=16) AESEncryptCipherLabel.pack(side='left', pady=5, padx=10) # entry key output_aes = tk.Entry(frame4, bg="#ffffff", fg="#333333", relief=tk.FLAT) output_aes.pack(fill='x', padx=14) def writeFile(): file = open('cipher-aes_file.txt', 'a+') file.write(ciphertext_aes_in_str) file.close() buttonWrite = Button(self, text='Write To File', bg="#0a3d62", fg="#f1f1f1", width=10, height=1, relief=tk.FLAT, command=writeFile) buttonWrite.pack(padx=14) # button back backButton = Button(self, text="Back", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(EncryptRC4)) backButton.pack(side='left', padx=14, pady=5) backButton.configure(relief=tk.FLAT) # button next nextButton = Button(self, text="Next", bg="#0a3d62", fg="#f1f1f1", command=lambda: controller.show_frame(HideLSB)) nextButton.pack(side='right', padx=14, pady=5) nextButton.configure(relief=tk.FLAT)
def nuevoUsuario(self): root=Tk() root.title("Nuevo Usuario") root.resizable(width=0, height=0) root.geometry("650x365") root.wm_iconbitmap("imagenes/imagen6.ico") varOpcion=IntVar() miFrame=Frame(root, width=350, height=950) miFrame.pack() mensaje=Label(miFrame,text="Ingrese los datos del nuevo Usuario: ") mensaje.grid(row=0, column=0, columnspan=2,padx=10, pady=10) cuadroNombre=Entry(miFrame) cuadroNombre.grid(row=1, column=1, padx=5, pady=5) cuadroNombre2=Entry(miFrame) cuadroNombre2.grid(row=2, column=1, padx=5, pady=5) cuadroNombre3=Entry(miFrame) cuadroNombre3.grid(row=3, column=1, padx=5, pady=5) cuadroNombre4=Entry(miFrame) cuadroNombre4.grid(row=4, column=1, padx=5, pady=5) cuadroNombre5=Entry(miFrame) cuadroNombre5.grid(row=5, column=1, padx=5, pady=5) cuadroNombre6=Entry(miFrame) cuadroNombre6.grid(row=6, column=1, padx=5, pady=5) cuadroNombre6.config(show="*") cuadroNombre7=Entry(miFrame) cuadroNombre7.grid(row=1, column=3, padx=5, pady=5) cuadroNombre8=Entry(miFrame) cuadroNombre8.grid(row=2, column=3, padx=5, pady=5) cuadroNombre9=Entry(miFrame) cuadroNombre9.grid(row=3, column=3, padx=5, pady=5) cuadroNombre10=Entry(miFrame) cuadroNombre10.grid(row=4, column=3, padx=5, pady=5) cuadroNombre11=Entry(miFrame) cuadroNombre11.grid(row=5, column=3, padx=5, pady=5) cuadroNombre12=Entry(miFrame) cuadroNombre12.grid(row=6, column=3, padx=5, pady=5) cuadroNombre13=Entry(miFrame) cuadroNombre13.grid(row=7, column=3, padx=5, pady=5) global nTipoPc nTipoPc = tk.StringVar() cuadroPc=ttk.Combobox(miFrame,state="readonly",width=16,textvariable = nTipoPc) cuadroPc['values']=('Desktop','Ordenador') cuadroPc.grid(row=8, column=3, padx=5, pady=5) cuadroPc.current(0) global n n = tk.StringVar() cuadroTipo=ttk.Combobox(miFrame,state="readonly",width=16,textvariable = n) cuadroTipo['values']=('Admin','Estandar') cuadroTipo.grid(row=7, column=1, padx=5, pady=5) cuadroTipo.current(0) nombreLabel=Label(miFrame, text="Nombre: ") nombreLabel.grid(row=1, column=0, sticky="n", padx=5, pady=5) nombreLabel2=Label(miFrame, text="Apellido: ") nombreLabel2.grid(row=2, column=0, sticky="n", padx=5, pady=5) nombreLabel3=Label(miFrame, text="Correo: ") nombreLabel3.grid(row=3, column=0, sticky="n", padx=5, pady=5) nombreLabel4=Label(miFrame, text="DNI: ") nombreLabel4.grid(row=4, column=0, sticky="n", padx=5, pady=5) nombreLabel5=Label(miFrame, text="Usuario: ") nombreLabel5.grid(row=5, column=0, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Contraseña: ") nombreLabel6.grid(row=6, column=0, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Tipo de Usuario: ") nombreLabel6.grid(row=7, column=0, sticky="n", padx=5, pady=5) mensajePc=Label(miFrame,text="Ingrese los datos de la Computadora: ") mensajePc.grid(row=0, column=2, columnspan=2,padx=10, pady=10) nombreLabel6=Label(miFrame, text="Marca: ") nombreLabel6.grid(row=1, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Modelo de Ordenador: ") nombreLabel6.grid(row=2, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Memoria Ram: ") nombreLabel6.grid(row=3, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Disco Duro: ") nombreLabel6.grid(row=4, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="N° de Contrato: ") nombreLabel6.grid(row=5, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="N° de Partes: ") nombreLabel6.grid(row=6, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="N° de Serie: ") nombreLabel6.grid(row=7, column=2, sticky="n", padx=5, pady=5) nombreLabel6=Label(miFrame, text="Tipo de Computadora: ") nombreLabel6.grid(row=8, column=2, sticky="n", padx=5, pady=5) #Opciones[id],[marca],[modelo],[ram],[disco],[contrato],[numeroParte],[serie],[idTipoComputadora] def guarda(): try: sNombre = cuadroNombre.get() sApellido = cuadroNombre2.get() sCorreo = cuadroNombre3.get() sDNI = cuadroNombre4.get() sUsuario = cuadroNombre5.get() sContea = cuadroNombre6.get() sMarca= cuadroNombre7.get() sModelo=cuadroNombre8.get() sRam=cuadroNombre9.get() sDisco=cuadroNombre10.get() sContrato=cuadroNombre11.get() sParte=cuadroNombre12.get() sSerie=cuadroNombre13.get() lDatos=[sNombre,sApellido,sCorreo,sDNI,sUsuario,sContea,sMarca,sModelo,sRam,sDisco,sContrato,sParte,sSerie] if ("" not in lDatos): #print(sNombre,sApellido,sCorreo,sDNI,sUsuario, sContea) fcursor = conexion.cursor() sTipoPc = str(cuadroTipo.current()+1) sql="""INSERT INTO [dbo].[Computadoras] ([id] ,[marca] ,[modelo] ,[ram] ,[disco] ,[contrato] ,[numeroParte] ,[serie] ,[idTipoComputadora]) VALUES ((SELECT COUNT(*) + 1 FROM Computadoras) ,'"""+sMarca+"""' ,'"""+sModelo+"""' ,'"""+sRam+"""' ,'"""+sDisco+"""' ,'"""+sContrato+"""' ,'"""+sParte+""""' ,'"""+sSerie+"""' ,"""+sTipoPc+""") """ #print(sql) sql2 = """INSERT INTO [dbo].[Usuarios] ([id] ,[nombres] ,[apellidos] ,[correo] ,[dni] ,[centroCosto] ,[descripcionCentroCosto] ,[usuario] ,[pass] ,[tipoUsuario] ,[idComputadora]) VALUES ((select count(*) + 1 from Usuarios) ,'"""+sNombre+"""' ,'"""+sApellido+"""' ,'"""+sCorreo+"""' ,'"""+sDNI+"""' ,'NULL' ,'NULL' ,'"""+sUsuario+"""' ,'"""+sContea+"""' ,'"""+cuadroTipo.get()+"""' ,(select count(*) from Computadoras))""" #print(sql) #print(sql2) fcursor.execute(sql) conexion.commit() fcursor.execute(sql2) conexion.commit() conexion.close() messagebox.showinfo(message="Usuario Guardado con éxito",title="Notificación") else: messagebox.showerror(message="Complete todos los campos",title="Notificación") #self.nuevoUsuario() except Exception as e: messagebox.showerror(message="Error" + str(e),title="Notificación") Button(miFrame, text="Agregar Usuario/Computadora",width="30", command=guarda).grid(padx=5, pady=5, row=9, column=1, columnspan=2) root.mainloop()
# -*- coding: utf-8 -*- """ Created on Mon Dec 10 16:35:18 2018 @author: USER """ """ tkinter usage and window specs """ from functools import partial from tkinter import Tk, Frame, Button, messagebox, LEFT, RIGHT, Label, Y, X window = Tk() frame = Frame(window) window.geometry('480x600') # title window.title("My computer thing") #photo image #photo1 = PhotoImage(file="logo.gif") #Label(frame).grid(row=0,column=0,sticky =E) # label def func(x=100): sting = "a Tk MessageBox " + str(x) messagebox.showinfo("Title", sting) # miscellaneous func_arg = partial(func, 100) button1 = Button(frame,