Ir al contenido

Tkinter

De Wikipedia, la enciclopedia libre

Tkinter es un binding de la biblioteca gráfica Tcl/Tk para el lenguaje de programación Python. Se considera un estándar de interfaz gráfica de usuario (GUI) para Python y está incluido por defecto con la instalación para Microsoft Windows.

Hoy en día, hay otras alternativas disponibles como wxPython, PySimpleGUI, PyQt, PySide y PyGTK que cumplen con todos los estándares de componente visual.

Ejemplo

[editar]

Para mostrar el texto “¡Hola mundo!” en una ventana:

#!/usr/bin/env python3
from tkinter import Label, Tk

apl = Tk()
texto = Label(apl, text="¡Hola mundo!")
texto.pack()
apl.mainloop()

Para Python 2, la única diferencia es la capitalización de la palabra tkinter en el comando de importación.

Con el paso del tiempo, se ha cambiado el código para invocar esta biblioteca y varios de sus módulos.

Proceso

[editar]

Cada widget, para ser mostrado en pantalla, puede atravesar (en orden variable) por las siguientes etapas:

  • Creación: el elemento es instanciado dentro de un marco.
  • Configuración: se cambian sus atributos.
  • Empaquetado: se le posiciona para hacerlo visible.
  • Vinculación: se le “ata” una función o evento.[1]

Aplicación simple

[editar]

Usando el paradigma orientado a objetos en Python, un programa simple sería (requiere la versión 8.6 de Tcl, que no es usada por Python en MacOS por defecto):

#!/usr/bin/env python3
import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.createWidgets()
    
    def createWidgets(self):
        self.mondialLabel = tk.Label(self, text='Hola, Mundo!')
        self.mondialLabel.config(bg="#00ffff")
        self.mondialLabel.grid()
        self.quitButton = tk.Button(self, text='Quit', command=self.quit)
        self.quitButton.grid()

if __name__ == '__main__':
    app = Application()
    app.master.title('Aplicación de muestra')
    app.mainloop()
  • línea 1: Directiva Hashbang al ejecutable del programa, permitiendo la selección de un intérprete apropiado ejecutable, cuando se autoejecute.[2]
  • línea 2: Esta línea importa el módulo tkinter en el espacio de nombres de su programa, pero lo renombra como tk.
  • línea 4: La clase Application hereda de la clase Frame de Tkinter.
  • línea 5: Define la función que establece el Frame (Marco).
  • línea 6: Llama al constructor de la clase de padre, Frame.
  • línea 10: Definiendo los widgets.
  • línea 11: Crea una etiqueta, llamada mondialLabel con el texto "Hola Mundo".
  • línea 13: Coloca la etiqueta en la aplicación para que sea visible usando el método del administrador de la geometría de la cuadrícula.
  • línea 14: Crea un botón con la etiqueta "Salir".
  • línea 15: Coloca el botón en la aplicación. La cuadrícula, el lugar y el paquete son todos métodos para hacer visible el widget
  • línea 17: Se indica al intérprete que asigne al atributo __name__ el valor de main indicando que es el archivo principal.
  • línea 18: El programa principal comienza aquí instanciando la clase de aplicación.
  • línea 19: Esta llamada al método establece el título de la ventana como "Aplicación de muestra".
  • línea 20: Inicia el bucle principal de la aplicación, esperando eventos de ratón y teclado.

Véase también

[editar]

Referencias

[editar]
  1. «GUI Programming with Python: Events and Binds». www.python-course.eu. Consultado el 26 de mayo de 2020. 
  2. «PEP 397 -- Python launcher for Windows». Python.org (en inglés). Consultado el 26 de mayo de 2020. 

Enlaces externos (en inglés)

[editar]

Enlaces externos (en español)

[editar]