Tk - Mega Widgets

Mega widgets incluem muitos widgets complexos que são freqüentemente necessários em alguns aplicativos Tk de grande escala. A lista de mega widgets disponíveis é mostrada abaixo -

Sr. Não. Widget e descrição
1 Diálogo

Widget para exibir caixas de diálogo.

2 Spinbox

Widget que permite aos usuários escolher números.

3 Caixa combo

Widget que combina uma entrada com uma lista de opções disponíveis para uso.

4 Caderno

Widget com guias que ajuda a alternar entre uma das várias páginas, usando uma guia de índice.

5 Barra de progresso

Widget para fornecer feedback visual sobre o andamento de uma operação longa, como upload de arquivo.

6 Treeview

Widget para exibir e permitir navegar por uma hierarquia de itens mais em forma de árvore.

7 Barra de rolagem

Widgets de rolagem sem widgets de texto ou tela.

8 Escala

Widget de escala para escolher um valor numérico por meio de controles deslizantes.

Um exemplo simples de Tk é mostrado abaixo usando alguns 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]

Quando executarmos o programa acima, obteremos a seguinte saída -