Tk - Mega widgets

Los mega widgets incluyen muchos widgets complejos que a menudo se requieren en algunas aplicaciones Tk a gran escala. La lista de mega widgets disponibles se muestra a continuación:

No Señor. Widget y descripción
1 Diálogo

Widget para mostrar cuadros de diálogo.

2 Spinbox

Widget que permite a los usuarios elegir números.

3 Caja combo

Widget que combina una entrada con una lista de opciones disponibles para el uso.

4 Cuaderno

Widget con pestañas que ayuda a cambiar entre una de varias páginas, usando una pestaña de índice.

5 Barra de progreso

Widget para proporcionar información visual sobre el progreso de una operación larga como la carga de archivos.

6 Vista de árbol

Widget para mostrar y permitir navegar a través de una jerarquía de elementos más en forma de árbol.

7 Barra de desplazamiento

Widgets de desplazamiento sin texto o widgets de lienzo.

8 Escala

Escala del widget para elegir un valor numérico a través de controles deslizantes.

A continuación se muestra un ejemplo simple de Tk usando algunos mega widgets.

#!/usr/bin/wish

ttk::treeview .tree -columns "Creator Year" -displaycolumns "Year Creator" 
.tree heading Creator -text "Creator" -anchor center
.tree heading Year -text "Year" -anchor center
pack .tree
.tree insert {} end -id Languages -text "Languages"
.tree insert Languages end -text C -values [list "Dennis Ritchie" "1990"]
proc scaleMe {mywidget scaleValue} {
   $mywidget configure -length $scaleValue
} 
pack [scale .s2  -from 100.0 -to 200.0 -length 100 -background yellow -borderwidth 5
   -font{Helvetica -18 bold} -foreground red -width 40 -relief ridge -orien horizontal
   -variable a -command "scaleMe .s2" ]
pack [ttk::progressbar .p1 -orient horizontal -length 200 -mode indeterminate -value 90]
pack [ttk::progressbar .p2 -orient horizontal -length 200 -mode determinate -variable a
   -maximum 75 -value 20]

Cuando ejecutamos el programa anterior, obtendremos el siguiente resultado: