- Tcl - Home
- Tcl - Overview
- Tcl - Environment Setup
- Tcl - Special Variables
- Tcl - Basic Syntax
- Tcl - Commands
- Tcl - Data Types
- Tcl - Variables
- Tcl - Operators
- Tcl - Decisions
- Tcl - Loops
- Tcl - Arrays
- Tcl - Strings
- Tcl - Lists
- Tcl - Dictionary
- Tcl - Procedures
- Tcl - Packages
- Tcl - Namespaces
- Tcl - File I/O
- Tcl - Error Handling
- Tcl - Built-in Functions
- Tcl - Regular Expressions
- Tk - Overview
- Tk - Environment
- Tk - Special Variables
- Tk - Widgets Overview
- Tk - Basic Widgets
- Tk - Layout Widgets
- Tk - Selection Widgets
- Tk - Canvas Widgets
- Tk - Mega Widgets
- Tk - Fonts
- Tk - Images
- Tk - Events
- Tk - Windows Manager
- Tk - Geometry Manager
- Tcl/Tk Useful Resources
- Tcl/Tk - Quick Guide
- Tcl/Tk - Useful Resources
- Tcl/Tk - Discussion
Tk - Mega Widgets
Mega widgets include many complex widgets which is often required in some large scale Tk applications. The list of available mega widgets are as shown below −
| Sr.No. | Widget & Description |
|---|---|
| 1 |
Dialog
Widget for displaying dialog boxes. |
| 2 |
Spinbox
Widget that allows users to choose numbers. |
| 3 |
Combobox
Widget that combines an entry with a list of choices available to the use. |
| 4 |
Notebook
Tabbed widget that helps to switch between one of several pages, using an index tab. |
| 5 |
Progressbar
Widget to provide visual feedback to the progress of a long operation like file upload. |
| 6 |
Treeview
Widget to display and allow browsing through a hierarchy of items more in form of tree. |
| 7 |
Scrollbar
Scrolling widgets without a text or canvas widgets. |
| 8 |
Scale
Scale widget to choose a numeric value through sliders. |
A simple Tk example is shown below using some 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]
When we run the above program, we will get the following output −