
- 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 - Menu Widget
Tk menu widget is used along with Tk widget menubutton. So, we will see menubutton first. The syntax for menu button widget is shown below −
menubutton menubuttonName options
Menu Button Options
The options available for the menu button widget are listed below in the following table −
Sr.No. | Syntax & Description |
---|---|
1 |
-command action Sets the command action for button. |
2 |
-text text Sets the text for the widget. |
3 |
-textvariable varName Variable associated with the widget. When the text of widget changes, the variable is set to text of widget. |
4 |
-width number Sets the width for widget. |
5 |
-menu menuName Specifies the name of associated menu widget. |
6 |
-underline charPosition Sets the position for hotkey. |
The syntax for menu is shown below −
menu menuName options
Menu Options
The options available for the menu widget are listed below in the following table −
Sr.No. | Syntax & Description |
---|---|
1 |
-font fontDescriptor Used to set font for widget. |
2 |
-postcommand action Sets the command action to be done before a menu is posted. |
3 |
-menu menuName Specifies the name of associated menu widget. |
4 |
-tearoff boolean Allows or disallows a menu to be removed from the menubutton and displayed in a permanent window. Default is enabled. |
The syntax for adding menubutton is shown below −
menuName add type menubuttonType options
The type includes separator, cascade, checkbutton, radiobutton, and command.
MenuName Add Options
The options available for the menuName add are listed below in table −
Sr.No. | Syntax & Description |
---|---|
1 |
-command action Sets the command action for the menubutton. |
2 |
-menu menuName Specifies the name of associated menu widget. |
3 |
-label string Set the text of the menu. |
4 |
-variable varName Sets the variable to be set when this entry is selected. |
5 |
-value string The value is set for the variable. |
6 |
-underline position Sets the position for hotkey. |
A simple Tk menu is shown below −
#!/usr/bin/wish menubutton .myMenubutton -menu .myMenubutton.myMenu -text "ChangeText" menu .myMenubutton.myMenu .myMenubutton.myMenu add command -label Hello -command {set myvariable "Hello"} .myMenubutton.myMenu add command -label World -command {set myvariable "World"} pack .myMenubutton pack [label .myLabel -text "Select An option" -font {Helvetica -18 bold} -height 5 -width 15 -textvariable myvariable]
When we run the above program, we will get the following output −

When we select a menu option, we will get an output as shown below −
