Comenzando con tkinter

Instalación o Configuración

Tkinter viene preinstalado con los binarios del instalador de Python para Mac OS X y la plataforma Windows. Entonces, si instala Python desde los binarios oficiales para la plataforma Mac OS X o Windows, está listo para usar Tkinter.

Para las versiones Debian de Linux, debe instalarlo manualmente utilizando los siguientes comandos.

Para Python 3

sudo apt-get install python3-tk

Para Python 2.7

sudo apt-get install python-tk

Las distribuciones de Linux con el instalador de yum pueden instalar el módulo tkinter usando el comando:

yum instalar tkinter

Verificando instalación

Para verificar si ha instalado Tkinter con éxito, abra su consola de Python y escriba el siguiente comando:

import tkinter as tk # for Python 3 version

o

import Tkinter as tk # for Python 2.x version

Ha instalado Tkinter con éxito, si el comando anterior se ejecuta sin error.

Para verificar la versión de Tkinter, escriba los siguientes comandos en su Python REPL:

Para pitón 3.X

import tkinter as tk
tk._test()

Para pitón 2.X

import Tkinter as tk
tk._test()

Nota: no es necesario importar Tkinter como tk, pero es una buena práctica, ya que ayuda a mantener la coherencia entre las versiones.

¡Hola Mundo! (modular, orientado a objetos)

import tkinter as tk

class HelloWorld(tk.Frame):
    def __init__(self, parent):
        super(HelloWorld, self).__init__(parent)

        self.label = tk.Label(self, text="Hello, World!")
        self.label.pack(padx=20, pady=20)
        
if __name__ == "__main__":
    root = tk.Tk()

    main = HelloWorld(root)
    main.pack(fill="both", expand=True)

    root.mainloop()

Nota: es posible heredar de casi cualquier widget de tkinter, incluido la ventana raíz. Heredar de tkinter.Frame es al menos posiblemente el más flexible ya que admite múltiples interfaces de documentos (MDI), interfaces de un solo documento (SDI), aplicaciones de una sola página y varias páginas aplicaciones

¡Hola Mundo! (mínimo)

Pongamos a prueba nuestro conocimiento básico de tkinter creando el clásico “¡Hola, mundo!” programa.

Primero, debemos importar tkinter, esto variará según la versión (ver la sección de comentarios sobre “Diferencias entre Python 2 y 3”)

En Python 3, el módulo tkinter tiene una t minúscula:

import tkinter as tk

En Python 2, el módulo Tkinter tiene una T mayúscula:

import Tkinter as tk 

Usar as tk no es estrictamente necesario, pero lo usaremos para que el resto de este ejemplo funcione igual para ambas versiones.

ahora que tenemos el módulo tkinter importado podemos crear la raíz de nuestra aplicación usando la clase Tk:

root = tk.Tk()

Esto actuará como la ventana para nuestra aplicación. (tenga en cuenta que las ventanas adicionales deberían ser instancias de Toplevel en su lugar)

Ahora que tenemos una ventana, agreguemos texto con una Etiqueta

label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window

Una vez lista la aplicación podemos iniciarla (ingresar el main event loop) con el método mainloop

root.mainloop()

Esto abrirá y ejecutará la aplicación hasta que se detenga al cerrar la ventana o llamar a las funciones existentes desde las devoluciones de llamada (discutidas más adelante) como root.destroy().

Poniendolo todo junto:

import tkinter as tk # Python 3.x Version
#import Tkinter as tk # Python 2.x Version

root = tk.Tk()

label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window

root.mainloop()

Y algo como esto debería aparecer:

ventana de tkinter