Buscar..


Observaciones

Tkinter (" Tk Inter face") es un paquete multiplataforma estándar de python para crear interfaces gráficas de usuario (GUI). Proporciona acceso a un intérprete de Tcl subyacente con el kit de herramientas Tk, que en sí mismo es una biblioteca de interfaz de usuario gráfica multiplataforma y multiplataforma.

Tkinter no es la única biblioteca GUI para python, pero es la que viene de serie. Las bibliotecas de GUI adicionales que se pueden usar con python incluyen wxPython , PyQt y kivy .

La mayor fortaleza de Tkinter es su ubicuidad y simplicidad. Funciona de forma inmediata en la mayoría de las plataformas (Linux, OSX, Windows) y se completa con una amplia gama de widgets necesarios para las tareas más comunes (botones, etiquetas, lienzos de dibujo, texto de varias líneas, etc.).

Como herramienta de aprendizaje, tkinter tiene algunas características que son únicas entre los kits de herramientas GUI, como las fuentes con nombre, las etiquetas de enlace y el rastreo de variables.

Diferencias entre python 2 y 3

Tkinter se mantiene prácticamente sin cambios entre python 2 y python 3, con la diferencia principal de que se cambió el nombre del paquete tkinter y de los módulos.

Importando en python 2.x

En Python 2.x, el paquete tkinter se llama Tkinter , y los paquetes relacionados tienen sus propios nombres. Por ejemplo, lo siguiente muestra un conjunto típico de instrucciones de importación para python 2.x:

import Tkinter as tk
import tkFileDialog as filedialog
import ttk

Importando en Python 3.x

Aunque la funcionalidad no cambió mucho entre python 2 y 3, los nombres de todos los módulos tkinter han cambiado. El siguiente es un conjunto típico de instrucciones de importación para Python 3.x:

import tkinter as tk
from tkinter import filedialog
from tkinter import ttk

Otras lecturas

Versiones

Tcl

Versión Fecha de lanzamiento
8.6 2016-07-27
8.5 2016-02-12
8.4 2013-06-01
8.3 2002-10-18
8.2 1999-12-16
8.1 1999-05-26
8.0 1999-03-09

Pitón

Versión Fecha de lanzamiento
3.6 2016-12-23
3.5 2015-09-13
3.4 2014-03-17
3.3 2012-09-29
3.2 2011-02-20
3.1 2009-06-26
3.0 2008-12-03
2.7 2010-07-03
2.6 2008-10-02
2.5 2006-09-19
2.4 2004-11-30
2.3 2003-07-29
2.2 2001-12-21
2.1 2001-04-15
2.0 2000-10-16

Instalación o configuración

Tkinter viene preinstalado con los binarios del instalador de Python para Mac OS X y la plataforma Windows. Por lo tanto, si instala Python desde los archivos binarios oficiales para Mac OS X o la plataforma Windows, puede utilizar 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 yum installer pueden instalar el módulo tkinter usando el comando:

yum instalar tkinter

Verificando instalación

Para verificar si ha instalado Tkinter correctamente, 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 correctamente, si el comando anterior se ejecuta sin un error.

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

Para python 3.x

import tkinter as tk
tk._test()

Para python 2.x

import Tkinter as tk
tk._test()

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

¡Hola Mundo! (mínimo)

Probemos nuestro conocimiento básico de tkinter creando el clásico "¡Hola mundo!" programa.

Primero, debemos importar tkinter, esto variará según la versión (consulte 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 de la misma manera para ambas versiones.

Ahora que hemos importado el módulo tkinter, 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 deben ser instancias de Toplevel lugar)

Ahora que tenemos una ventana, vamos a agregarle texto con una Label

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

Una vez que la aplicación esté lista, podemos iniciarla (ingresar al bucle del evento principal ) con el método mainloop

root.mainloop()

Esto abrirá y ejecutará la aplicación hasta que se detenga al cerrar la ventana o al llamar a las funciones que salen de las devoluciones de llamada (que se root.destroy() 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 tkinter

¡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 tkinter, incluida la ventana raíz. Heredar de tkinter.Frame es, al menos, posiblemente el más flexible, ya que admite interfaces de documentos múltiples (MDI), interfaces de documentos únicos (SDI), aplicaciones de página única y aplicaciones de página múltiple.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow