Ttk Nuevos Widgets Tkinter

En la entrada anterior hablamos de los widgets con temas del modulo ttk de tkinter, les había dicho que a este modulo se le habían agregado nuevos widgets, pues son 6, estos son: Combobox, Notebook, Progressbar, Separator, Sizegrip y Treeview.

TTK ComboBox


Este es un widget que nos permite seleccionar una opción entre las establecidas que aparecen en una lista desplegable, también podemos editar directamente la opción.

ttk combobox
import tkinter.ttk as ttk

cbx = ttk.Combobox(values=["uno", "dos", "tres", "cuatro", "cinco"])
cbx.set("uno")
cbx.configure(width=25)

cbx.pack()
cbx.master.title("ttk widgets")
cbx.mainloop()

cbx.bind('<<ComboboxSelected>>', changed)

La función bind enlaza el evento ComboboxSelected con el método changed que se ejecutara cada vez que cambie la selección del combobox, si deseamos saber el elemento seleccionado usamos get(), set(‘valor’) si lo que queremos hacer el cambiarlo.

En el archivo descargable se encuentra un ejemplo.

TTK Notebook


Este widget nos permite mostrar una interfaz grafica de usuario con varias pestañas, en cada pestaña podemos agregar otros widgets de modo que podemos tener una buena organización en nuestras GUI.

Captura de pantalla (355)
import tkinter as tk
import tkinter.ttk as ttk

nb = ttk.Notebook()

nb.add(tk.Label(text='I Pestania'), text='uno')
nb.add(tk.Label(text='II Pestania'), text='dos')
nb.add(tk.Label(text='III Pestania'), text='tres')

nb.pack(fill=tk.BOTH)
nb.master.title('ttk Notebook')
nb.mainloop()

El método add agrega una pestaña, debemos indicar el elemento de deseamos colocar en esta pestaña seguido del texto que mostrara la pestaña.

Si deseamos agregar mas de un widget a la pestaña podemos simplemente crear un contenedor Frame es es un widget que sirve para contener a otros widgets como las ventanas, dentro de este frame colocamos los widgets deseados.

frm = tk.Frame()
tk.Button(frm, text='Click!').pack()
tk.Entry(frm).pack()
frm.pack()

nb.add(frm, text='uno')

TTK Progressbar


Un widget creado para mostrar una barra de avance indeterminado, la usamos normalmente para indicarle al usuario que debe esperar mientras se termina de ejecutar una determinada acción.

Para iniciar el progressbar usamos el método start(interval), interval en milisegundos indica la velocidad de avance, para detener usamos stop().

ttk progressbar

import tkinter.ttk as ttk

pb = ttk.Progressbar()
pb.start(10)

pb.pack(fill='x')
pb.master.title('Progressbar')
pb.mainloop()

Los widget restantes los veremos en las siguientes publicaciones.

Descargar Widgets ttk

Comentarios

Temas relacionados

Entradas populares de este blog

tkinter Grid

Conectar SQL Server con Java

Controles y Contenedores JavaFX 8 - I

Histogramas OpenCV Python