Beispiel #1
0
# 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 = []
Beispiel #2
0
    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()
Beispiel #3
0
    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()
Beispiel #4
0
# 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")
Beispiel #5
0
    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)
Beispiel #7
0
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
Beispiel #8
0
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)
Beispiel #10
0
 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')
Beispiel #11
0
 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')
Beispiel #12
0
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()
Beispiel #13
0
    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")
Beispiel #14
0
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)
Beispiel #16
0
    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)
Beispiel #18
0
    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)
Beispiel #20
0
    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)
Beispiel #21
0
#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))
Beispiel #22
0
    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)
Beispiel #23
0
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()
Beispiel #24
0
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)
Beispiel #25
0
    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()
Beispiel #26
0
 def __init__(self, root, load, exit):
     self.panel_frame = Frame(root, height=60, width=100)
Beispiel #27
0
    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)
Beispiel #29
0
    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()
Beispiel #30
0
# -*- 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,