Apariencia
🧩 Snippet: formulario con Frames + grid (CustomTkinter)
Plantilla para diseños en cuadrícula: un
CTkFramecon formulario en.grid()y otroCTkFramecon botones en.pack(). Explicación de cada pieza en 05-CustomTkinter.
python
import customtkinter as ctk
ventana = ctk.CTk()
ventana.title("Formulario")
ventana.geometry("400x300")
# Frame para el formulario, ubicado con pack en la ventana
frame_formulario = ctk.CTkFrame(ventana)
frame_formulario.pack(padx=20, pady=20, fill="x")
# Dentro del frame se usa grid, sin que choque con el pack de afuera
ctk.CTkLabel(frame_formulario, text="Nombre:").grid(row=0, column=0, padx=10, pady=10, sticky="e")
ctk.CTkEntry(frame_formulario).grid(row=0, column=1, padx=10, pady=10, sticky="w")
ctk.CTkLabel(frame_formulario, text="Correo:").grid(row=1, column=0, padx=10, pady=10, sticky="e")
ctk.CTkEntry(frame_formulario).grid(row=1, column=1, padx=10, pady=10, sticky="w")
# Otro frame independiente para los botones, con pack
frame_botones = ctk.CTkFrame(ventana)
frame_botones.pack(pady=10)
ctk.CTkButton(frame_botones, text="Guardar").pack(side="left", padx=5)
ctk.CTkButton(frame_botones, text="Cancelar").pack(side="left", padx=5)
ventana.mainloop()⚠️ Recuerda: no mezclar
.pack()y.grid()en el mismo contenedor. Aquí funciona porque cada.grid()/.pack()se aplica a unCTkFramedistinto.