tkinter
Widgets ttk
Buscar..
Introducción
Ejemplos de los diferentes widgets ttk. Ttk tiene un total de 17 widgets, once de los cuales ya existían en tkinter (tk).
El uso del módulo ttk le da a su aplicación un aspecto más moderno y mejorado.
Sintaxis
- tree = ttk.Treeview (master, ** kwargs)
Parámetros
Parámetro | Descripción |
---|---|
dominar | Los widgets tkinter existen en una jerarquía. Excepto por la ventana raíz, todos los widgets tienen un padre (también llamado "maestro"). Cuando el widget se agregue a la pantalla con paquete, lugar o cuadrícula, aparecerá dentro de este widget principal |
Observaciones
Estos ejemplos asumen que tkinter se ha importado con import tkinter as tk
(python 3) o import Tkinter as tk
(python 2).
También se supone que ttk se ha importado con from tkinter import ttk
(python 3) o import ttk
(python 2).
Treeview: ejemplo básico
Este widget se utiliza para mostrar elementos con jerarquía. Por ejemplo, el explorador de Windows se puede reproducir de esta manera. Algunas bonitas tablas también se pueden hacer usando el widget de vista de treeview
.
Crear el widget
tree=ttk.Treeview(master)
Definición de las columnas.
Puede definir cuántas columnas, su ancho y su ancho mínimo cuando el usuario intenta estirarlo. Al definir stretch=tk.NO
, el usuario no puede modificar el ancho de la columna.
tree["columns"]=("one","two","three")
tree.column("#0", width=270, minwidth=270, stretch=tk.NO)
tree.column("one", width=150, minwidth=150, stretch=tk.NO)
tree.column("two", width=400, minwidth=200)
tree.column("three", width=80, minwidth=50, stretch=tk.NO)
Definición de los encabezados.
tree.heading("#0",text="Name",anchor=tk.W)
tree.heading("one", text="Date modified",anchor=tk.W)
tree.heading("two", text="Type",anchor=tk.W)
tree.heading("three", text="Size",anchor=tk.W)
Insertar algunas filas
# Level 1
folder1=tree.insert("", 1, "", text="Folder 1", values=("23-Jun-17 11:05","File folder",""))
tree.insert("", 2, "", text="text_file.txt", values=("23-Jun-17 11:25","TXT file","1 KB"))
# Level 2
tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"))
Embalaje
tree.pack(side=tk.TOP,fill=tk.X)
En Windows, la siguiente captura de pantalla se puede obtener de este ejemplo.
Barra de progreso
El widget ttk.progress
es útil cuando se trata de cálculos largos para que el usuario sepa que el programa se está ejecutando. A continuación, se muestra un ejemplo de actualización de una barra de progreso cada 0,5 segundos:
Función de actualización de la barra de progreso.
def progress(currentValue):
progressbar["value"]=currentValue
Establecer el valor máximo
maxValue=100
Crea la barra de progreso
progressbar=ttk.Progressbar(master,orient="horizontal",length=300,mode="determinate")
progressbar.pack(side=tk.TOP)
El modo "determinado" se usa cuando la barra de progreso está bajo el control del programa.
Valores iniciales y máximos.
currentValue=0
progressbar["value"]=currentValue
progressbar["maximum"]=maxValue
Emular el progreso cada 0.5 s.
divisions=10
for i in range(divisions):
currentValue=currentValue+10
progressbar.after(500, progress(currentValue))
progressbar.update() # Force an update of the GUI