Requisito previo: Tkinter
En este artículo, discutiremos cómo crear una libreta de direcciones en Tkinter usando Python.
Implementación paso a paso:
Paso 1: Creación de GUI.
En esto, agregaremos todos los componentes de la GUI como etiquetas, área de texto y botones.
Python3
# Import Module from tkinter import * # Create Object root = Tk() # Set geometry root.geometry('400x500') # Add Buttons, Label, ListBox Name = StringVar() Number = StringVar() frame = Frame() frame.pack(pady=10) frame1 = Frame() frame1.pack() frame2 = Frame() frame2.pack(pady=10) Label(frame, text = 'Name', font='arial 12 bold').pack(side=LEFT) Entry(frame, textvariable = Name,width=50).pack() Label(frame1, text = 'Phone No.', font='arial 12 bold').pack(side=LEFT) Entry(frame1, textvariable = Number,width=50).pack() Label(frame2, text = 'Address', font='arial 12 bold').pack(side=LEFT) address = Text(frame2,width=37,height=10) address.pack() Button(root,text="Add",font="arial 12 bold").place(x= 100, y=270) Button(root,text="View",font="arial 12 bold").place(x= 100, y=310) Button(root,text="Delete",font="arial 12 bold").place(x= 100, y=350) Button(root,text="Reset",font="arial 12 bold").place(x= 100, y=390) scroll_bar = Scrollbar(root, orient=VERTICAL) select = Listbox(root, yscrollcommand=scroll_bar.set, height=12) scroll_bar.config (command=select.yview) scroll_bar.pack(side=RIGHT, fill=Y) select.place(x=200,y=260) # Execute Tkinter root.mainloop()
Producción:
Paso 2: Creación de la función de definición de usuario para recuperar la operación.
Estas son funciones que se utilizan en este programa:
- agregar: Esto agregará un registro en la estructura de datos de la libreta de direcciones y actualizará la GUI.
- vista: Esto representará todos los valores del registro seleccionado.
- eliminar: Esto eliminará el registro seleccionado de la estructura de datos de la libreta de direcciones y actualizará la GUI.
- restablecer : Esto restablecerá todos los valores de entrada de los parámetros de entrada.
- update_book: esto actualizará toda la estructura de datos de la libreta de direcciones.
Python3
# Information List datas = [] # Add Information def add(): global datas datas.append([Name.get(),Number.get(),address.get(1.0, "end-1c")]) update_book() # View Information def view(): Name.set(datas[int(select.curselection()[0])][0]) Number.set(datas[int(select.curselection()[0])][1]) address.delete(1.0,"end") address.insert(1.0, datas[int(select.curselection()[0])][2]) # Delete Information def delete(): del datas[int(select.curselection()[0])] update_book() def reset(): Name.set('') Number.set('') address.delete(1.0,"end") # Update Information def update_book(): select.delete(0,END) for n,p,a in datas: select.insert(END, n)
Código completo:
Python3
# Import Module from tkinter import * # Create Object root = Tk() # Set geometry root.geometry('400x500') # Information List datas = [] # Add Information def add(): global datas datas.append([Name.get(),Number.get(),address.get(1.0, "end-1c")]) update_book() # View Information def view(): Name.set(datas[int(select.curselection()[0])][0]) Number.set(datas[int(select.curselection()[0])][1]) address.delete(1.0,"end") address.insert(1.0, datas[int(select.curselection()[0])][2]) # Delete Information def delete(): del datas[int(select.curselection()[0])] update_book() def reset(): Name.set('') Number.set('') address.delete(1.0,"end") # Update Information def update_book(): select.delete(0,END) for n,p,a in datas: select.insert(END, n) # Add Buttons, Label, ListBox Name = StringVar() Number = StringVar() frame = Frame() frame.pack(pady=10) frame1 = Frame() frame1.pack() frame2 = Frame() frame2.pack(pady=10) Label(frame, text = 'Name', font='arial 12 bold').pack(side=LEFT) Entry(frame, textvariable = Name,width=50).pack() Label(frame1, text = 'Phone No.', font='arial 12 bold').pack(side=LEFT) Entry(frame1, textvariable = Number,width=50).pack() Label(frame2, text = 'Address', font='arial 12 bold').pack(side=LEFT) address = Text(frame2,width=37,height=10) address.pack() Button(root,text="Add",font="arial 12 bold",command=add).place(x= 100, y=270) Button(root,text="View",font="arial 12 bold",command=view).place(x= 100, y=310) Button(root,text="Delete",font="arial 12 bold",command=delete).place(x= 100, y=350) Button(root,text="Reset",font="arial 12 bold",command=reset).place(x= 100, y=390) scroll_bar = Scrollbar(root, orient=VERTICAL) select = Listbox(root, yscrollcommand=scroll_bar.set, height=12) scroll_bar.config (command=select.yview) scroll_bar.pack(side=RIGHT, fill=Y) select.place(x=200,y=260) # Execute Tkinter root.mainloop()
Producción:
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA