-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLibros.py
More file actions
122 lines (104 loc) · 3.85 KB
/
Libros.py
File metadata and controls
122 lines (104 loc) · 3.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import tkinter as tk
from tkinter import messagebox
import datetime
# obtener la fecha actual en formato dd-mm-aaaa
fecha_actual = datetime.datetime.now().strftime("%d-%m-%Y")
# FUNCION PARA REGISTRAR LIBROS
def registrar_libro():
titulo = entry_titulo.get()
autor = entry_autor.get()
anio = entry_anio.get()
genero = genero_var.get()
estado = estado_var.get()
copias = entry_copias.get()
idioma = idioma_var.get()
resumen = texto_resumen.get("1.0", tk.END).strip()
categorias = []
if var_novela.get(): categorias.append("Romance")
if var_ciencia.get(): categorias.append("Ciencia")
if var_historia.get(): categorias.append("Historia")
print("=== Libro Registrado ===")
print(f"Titulo: {titulo}")
print(f"Autor: {autor}")
print(f"Año: {anio}")
print(f"Género: {genero}")
print(f"Categorías: {categorias}")
print(f"Estado: {estado}")
print(f"Copias: {copias}")
print(f"Idioma: {idioma}")
print(f"Resumen: {resumen}")
print("========================\n")
messagebox.showinfo("Registro", "Libro registrado con éxito")
def limpiar():
entry_titulo.delete(0, tk.END)
entry_autor.delete(0, tk.END)
entry_anio.delete(0, tk.END)
genero_var.set("")
estado_var.set("")
idioma_var.set("Español")
entry_copias.delete(0, tk.END)
texto_resumen.delete("1.0", tk.END)
var_novela.set(False)
var_ciencia.set(False)
var_historia.set(False)
# CREACION DE VENTANA PRINCIPAL
ventana = tk.Tk()
ventana.title(f"SERVFINC-1A-{fecha_actual}")
ventana.geometry("720x720")
# TITULO
frame_titulo = tk.Frame(ventana)
frame_titulo.pack(pady=2)
tk.Label(frame_titulo, text="Título:").pack(side="left")
entry_titulo = tk.Entry(frame_titulo, width=50)
entry_titulo.pack(side="left")
# AUTOR
frame_autor = tk.Frame(ventana)
frame_autor.pack(pady=2)
tk.Label(frame_autor, text="Autor:").pack(side="left")
entry_autor = tk.Entry(frame_autor, width=50)
entry_autor.pack(side="left")
# AÑO
frame_anio = tk.Frame(ventana)
frame_anio.pack(pady=2)
tk.Label(frame_anio, text="Año de publicación:").pack(side="left")
entry_anio = tk.Entry(frame_anio, width=50)
entry_anio.pack(side="left")
# GENERO
tk.Label(ventana, text="Género:").pack()
genero_var = tk.StringVar()
tk.Radiobutton(ventana, text="Ficción", variable=genero_var, value="Ficción").pack()
tk.Radiobutton(ventana, text="No Ficción", variable=genero_var, value="No Ficción").pack()
# CATEGORIAS
tk.Label(ventana, text="Categorías:").pack()
var_novela = tk.BooleanVar()
var_ciencia = tk.BooleanVar()
var_historia = tk.BooleanVar()
tk.Checkbutton(ventana, text="Novela", variable=var_novela).pack()
tk.Checkbutton(ventana, text="Ciencia", variable=var_ciencia).pack()
tk.Checkbutton(ventana, text="Historia", variable=var_historia).pack()
# ESTADO
tk.Label(ventana, text="Estado:").pack()
estado_var = tk.StringVar()
tk.Radiobutton(ventana, text="Disponible", variable=estado_var, value="Disponible").pack()
tk.Radiobutton(ventana, text="Prestado", variable=estado_var, value="Prestado").pack()
# COPIAS
frame_copias = tk.Frame(ventana)
frame_copias.pack(pady=2)
tk.Label(frame_copias, text="Copias disponibles:").pack(side="left")
entry_copias = tk.Entry(frame_copias, width=20)
entry_copias.pack(side="left")
# IDIOMA
frame_idioma = tk.Frame(ventana)
frame_idioma.pack(pady=2)
tk.Label(frame_idioma, text="Idioma:").pack(side="left")
idioma_var = tk.StringVar(value="Español")
idioma_menu = tk.OptionMenu(frame_idioma, idioma_var, "Español", "Inglés", "Francés", "Alemán")
idioma_menu.pack(side="left")
# RESUMEN
tk.Label(ventana, text="Resumen del libro:").pack()
texto_resumen = tk.Text(ventana, height=5, width=70)
texto_resumen.pack()
# BOTONES
tk.Button(ventana, text="Registrar Libro", command=registrar_libro, bg="green", fg="black").pack(pady=5)
tk.Button(ventana, text="Limpiar", command=limpiar, bg="red", fg="black").pack()
ventana.mainloop()