Existen múltiples y de muy variados tipos librerías para desarrollar aplicaciones gráficas. Entre las más populares y fructíferas se encuentran Qt, GTK+ y wxWidgets. Python incluye en la librería estándar una cuarta llamada Tcl/Tk. Los paquetes de Python correspondientes a estas librerías (dado que están escritas en C o C++) son los siguientes.
- PyQt / PySide
- PyGTK
- wxPython
- tkinter (incluido en la librería estándar)
La programación de aplicaciones de escritorio en Python orbita alrededor de estas cuatro soluciones multiplataforma. Sin duda, Tcl/Tk es una buena solución para iniciarse o desarrollar aplicaciones pequeñas y medianas. Qt, GTK+ y wxWidgets son capaces de erigir grandes y complejas interfaces. Usuarios de IronPython tienen acceso a WPF, aunque la teconlogía solo es soportada en Windows.
Por ejemplo, el siguiente código crea una pequeña ventana con algunos controles usando Tcl/Tk.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.config(width=350, height=250)
root.title("Aplicación de escritorio en Tcl/Tk")
frame = tk.Frame(root)
frame.place(x=0, y=0, width=350, height=250)
button = tk.Button(frame, text="Hola mundo!")
button.place(x=50, y=50)
textbox = tk.Entry(frame)
textbox.insert(0, "Ingrese su nombre...")
textbox.place(x=50, y=100)
checkbox = ttk.Checkbutton(frame, text="Opción 1")
checkbox.place(x=50, y=150)
root.mainloop()