Librería Time

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.

image.png

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}")

image.png

Librería Tkinter

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")

image.png

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()

image.png