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.
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.
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().
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
Publicar un comentario