Es una librería para generar retrasos en el programa (Delay), su parámetro es el valor en segundos.
import time
for i in range(10):
print(f"Hola {i}")
time.sleep(1)
La función time.time() envía el valor en segundos que han pasado desde el año 1970.
En este caso el programa no dormirá mientras pasa el tiempo, se asemeja a la función millis() en Arduino. Quiere decir que se pueden realizar acciones mientras pasa dicho tiempo.

import time
print(time.time())
print(f"Si se quiere enviar un mensaje cada 1 segundo")
t1 = time.time()
t2 = time.time()
while True:
if (t2-t1)<1:
t2 = time.time()
else:
t1 = time.time()
print(f"Ya pasó un segundo -> {t2}")

Es una librería que permite la creación de interfaces gráficas en el entorno de Python: vent = tkinter.Tk()
| Función | Descripción | Ejemplo |
|---|---|---|
| Configuración | ||
| title(”Título”) | Crea el titulo de de Ventana | w.title(”Interfaz de Juanpis”) |
| geometry(nxm) | Ancho (n) y alto (m) de la ventana en píxeles | w.geometry(500x200) |
| mainloop() | Inicia el programa de la interfaz | w.mainloop() |
| Frame(parent, options) | Crea un frame (Ordena los objetos en filas y columnas) Parent es el contenedor principal y options los parámetros (color, bordes, etc.) | frame = tk.Frame(root, bg="lightblue", width=200, height=100) |
| grid(row=x,column=y, options) | Ubica el objeto en la fila x columna y | frame.grid(row=0, column=1, padx=10, pady=10) |
| columnespan= n | Ubica la posición en la mitad de las n columnas | *columnspan*=3 |
| sticky="ew" | Para centrar el frame en la columna | *sticky*="ew" |
| place(x, y, options) | Posiciona el frame en coordenadas específicas dentro del contenedor. | frame.place(x=50, y=100) |
| config(options) | Cambia propiedades del frame después de crearlo. | frame.config(bg="red", height=150) |
| Button | ||
| Button(parent, options) | Crea un botón dentro del contenedor especificado. | btn = tk.Button(root, text="Click aquí") |
| command=función | Vincula una función que se ejecuta al hacer clic en el botón. | btn = tk.Button(root, command=mi_función) |
| state | Estado del botón ("normal", "disabled" o "active"). |
btn = tk.Button(root, state="disabled") |
| Sliders/Scale | ||
| Scale(parent, options) | Crea un slider en el contenedor especificado. | slider = tk.Scale(root, from_=0, to=100) |
| from_ y to | Valores mínimo y máximo del slider. | slider = tk.Scale(root, from_=1, to=10) |
| orient | Dirección del slider ("horizontal" o "vertical"). |
slider = tk.Scale(root, orient="horizontal") |
| get() | Obtiene el valor actual del slider. | valor = slider.get() |
| Label (Etiquetas) | ||
| Label(parent, options) | Crea una etiqueta dentro del contenedor especificado. | label = tk.Label(root, text="Hola Siu") |
| text | Texto mostrado en la etiqueta. | label.config(text="Nuevo texto") |
| bg | Color de fondo de la etiqueta. | label.config(bg="yellow") |
| fg | Color del texto de la etiqueta. | label.config(fg="blue") |
| Entry (Cuadrados de entrada) | ||
| Entry(parent, options) | Crea un cuadro de texto para ingresar datos. | entrada = tk.Entry(root) |
| show | Sustituye el texto por caracteres especiales (e.g., "*"). | entrada = tk.Entry(root, show="*") |
| get() | Obtiene el texto ingresado en el cuadro de entrada. | texto = entrada.get() |
| delete(start, end) | Elimina texto entre las posiciones indicadas. | entrada.delete(0, tk.END) |
| Checkbutton (Casillas de Verificación) | ||
| Checkbutton(parent, options) | Crea una casilla de verificación. | chk = tk.Checkbutton(root, text="Aceptar") |
| variable | Asocia la casilla a una variable (tk.IntVar, tk.BooleanVar). |
chk = tk.Checkbutton(root, variable=var) |
onvalue y offvalue |
Valores que toma la variable cuando la casilla está marcada o no. | chk = tk.Checkbutton(root, onvalue=1, offvalue=0) |
| RadioButton | ||
| Radiobutton(parent, options) | Crea un botón de selección única entre varios. | radio = tk.Radiobutton(root, text="Opción 1") |
| variable | Asocia los botones a una variable compartida (tk.IntVar). |
radio = tk.Radiobutton(root, variable=var) |
| value | Valor asignado al botón cuando es seleccionado. | radio = tk.Radiobutton(root, value=1) |
| Combobox (Hay que importar ttk) | from tkinter import ttk | |
| Combobox(parent, options) | Crea una lista desplegable de opciones. | combo = tk.Combobox(root, values=["A", "B"]) |
| get() | Obtiene el valor seleccionado. | seleccion = combo.get() |
| set(value) | Establece un valor seleccionado por defecto. | combo.set("A") |

import tkinter as tk
from tkinter import ttk # Importa ttk para usar Combobox
root = tk.Tk()
root.geometry("800x500")
titleLabel = tk.Label(root, text="Primera Interfaz de Juanpis",font=("Arial", 20, "bold"))
root.title("Primera interfaz de Juanpis")
titleLabel.place(relx=0.28,rely=0)
# Frame de Botones============================================
frame1 = tk.Frame(root, bg="light salmon")
frame1.place(x=20, y=50) # Usamos grid consistentemente
label2 = tk.Label(frame1,text="Botones", font=("Arial", 9, "bold"))
label2.grid(row=0, column=0, columnspan=3, padx=10, pady=10, sticky="ew")
button1 = tk.Button(frame1,text="Botón 1")
button1.grid(row=1,column=1,padx=10, pady=10)
button2 = tk.Button(frame1,text="Botón 2")
button2.grid(row=1,column=2,padx=10, pady=10)
#Frame de Sliders=============================================
frame2 = tk.Frame(root,bg="lightyellow")
frame2.place(x=20,y=150)
label3 = tk.Label(frame2,text="Sliders", font=("Arial", 9, "bold"))
label3.grid(row=0, column=0, columnspan=4, padx=10, pady=10, sticky="ew")
slider1 = tk.Scale(frame2,from_=0,to=100, orient="horizontal")
slider1.grid(row=2,column=1, padx=10, pady=10)
slider2 = tk.Scale(frame2,from_=0,to=50, orient="horizontal")
slider2.grid(row=2,column=2, padx=10, pady=10)
slider3 = tk.Scale(frame2,from_=-300,to=300, orient="horizontal")
slider3.grid(row=2,column=3, padx=10, pady=10)
#Entry========================================================
frame3 = tk.Frame(root,bg="lightblue")
frame3.place(x=450,y=50)
label4 = tk.Label(frame3,text="Entry", font=("Arial", 9, "bold"))
label4.grid(row=0, column=0, columnspan=3, padx=10, pady=10, sticky="ew")
labela = tk.Label(frame3,text="Ingresa 1: ")
labela.grid(row=1,column=0,padx=10, pady=10)
input1 = tk.Entry(frame3)
input1.grid(row=1,column=1,padx=10, pady=1)
labelb = tk.Label(frame3,text="Ingresa 2: ")
labelb.grid(row=2,column=0,padx=10, pady=10)
input2 = tk.Entry(frame3)
input2.grid(row=2,column=1,padx=10, pady=1)
labelc = tk.Label(frame3,text="Ingresa 3: ")
labelc.grid(row=3,column=0,padx=10, pady=10)
input3 = tk.Entry(frame3)
input3.grid(row=3,column=1,padx=10, pady=1)
#Checkbutton===============================================
frame4 = tk.Frame(root,bg="lavender")
frame4.place(x=20,y=300)
label5 = tk.Label(frame4,text="CheckButton", font=("Arial", 9, "bold"))
label5.grid(row=0, column=0, columnspan=3, padx=10, pady=10, sticky="ew")
chk1 = tk.Checkbutton(frame4, text="Opción 1")
chk1.grid(row=1,column=0, padx=10, pady=10)
chk2 = tk.Checkbutton(frame4, text="Opción 2")
chk2.grid(row=2,column=0, padx=10, pady=10)
chk3 = tk.Checkbutton(frame4, text="Opción 3")
chk3.grid(row=3,column=0, padx=10, pady=10)
#radiobutton===============================================
frame5 = tk.Frame(root,bg="pink")
frame5.place(x=130,y=300)
label6 = tk.Label(frame5,text="RadioButton", font=("Arial", 9, "bold"))
label6.grid(row=0, column=0, columnspan=3, padx=10, pady=10, sticky="ew")
radio_var = tk.IntVar() #VARIABLE DONDE SE GUARDA LA RESPUESTA
radio1 = tk.Radiobutton(frame5, text="Opción 1",variable=radio_var, value=1)
radio1.grid(row=1, column=0, padx=10, pady=10)
radio2 = tk.Radiobutton(frame5, text="Opción 2",variable=radio_var, value=2)
radio2.grid(row=2, column=0, padx=10, pady=10)
radio3 = tk.Radiobutton(frame5, text="Opción 3",variable=radio_var, value=3)
radio3.grid(row=3, column=0, padx=10, pady=10)
#Combobox===============================================
frame6 = tk.Frame(root,bg="lightcoral")
frame6.place(x=240,y=300)
label7 = tk.Label(frame6,text="Combobox", font=("Arial", 9, "bold"))
label7.grid(row=0, column=0, columnspan=3, padx=10, pady=10, sticky="ew")
combo = ttk.Combobox(frame6, values=["A", "B", "C"])
combo.grid(row=1, column=0, padx=10, pady=10)
seleccion = combo.get()
root.mainloop()
