Open In App

Python Tkinter – Menubutton Widget

Last Updated : 26 Mar, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Python offers multiple options for developing GUI (Graphical User Interface). Out of all the GUI methods, tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with tkinter is the fastest and easiest way to create the GUI applications. Creating a GUI using tkinter is an easy task.

Note: For more information, refer to Python GUI – tkinter

Menubutton widget

The Menubutton widget can be defined as the drop-down menu that is shown to the user all the time. The Menubutton is used to implement various types of menus in the python application.

Syntax:

w = Menubutton ( master, options )

Parameters:

  • master: This parameter is used to represents the parent window.
  • options:There are many options which are available and they can be used as key-value pairs separated by commas.

Options:
Following are commonly used Option can be used with this widget :-

  • activebackground: This option used to represent the background color when the Menubutton is under the cursor.
  • activeforeground: This option used to represent the foreground color when the Menubutton is under the cursor.
  • bg: This option used to represent the normal background color displayed behind the label and indicator.
  • bitmap: This option used to display a monochrome image on a button.
  • bd: This option used to represent the size of the border around the indicator and the default value is 2 pixels.
  • anchor: This option specifies the exact position of the widget content when the widget is assigned more space than needed.
  • cursor: By using this option, the mouse cursor will change to that pattern when it is over the Menubutton.
  • disabledforeground: The foreground color used to render the text of a disabled Menubutton. The default is a stippled version of the default foreground color.
  • direction: It direction can be specified so that menu can be displayed to the specified direction of the button.
  • fg: This option used to represent the color used to render the text.
  • height: This option used to represent the number of lines of text on the Menubutton and it’s default value is 1.
  • highlightcolor: This option used to represent the color of the focus highlight when the Menubutton has the focus.
  • image: This option used to display a graphic image on the button.
  • justify: This option used to control how the text is justified: CENTER, LEFT, or RIGHT.
  • menu: It represents the menu specified with the Menubutton.
  • padx: This option used to represent how much space to leave to the left and right of the Menubutton and text. It’s default value is 1 pixel.
  • pady: This option used to represent how much space to leave above and below the Menubutton and text. It’s default value is 1 pixel.
  • relief: The type of the border of the Menubutton. It’s default value is set to FLAT.
  • state: It represents the state of the Menubutton. By default, it is set to normal. We can change it to DISABLED to make the Menubutton unresponsive. The state of the Menubutton is ACTIVE when it is under focus.
  • text: This option used use newlines (“\n”) to display multiple lines of text.
  • underline: This option used to represent the index of the character in the text which is to be underlined. The indexing starts with zero in the text.
  • textvariable: This option used to represents the associated variable that tracks the state of the Menubutton.
  • width: This option used to represents the width of the Menubutton. and also represented in the number of characters that are represented in the form of texts.
  • wraplength: This option will be broken text into the number of pieces.

Example:




from tkinter import *
  
root = Tk()
root.geometry("300x200")
  
w = Label(root, text ='GeeksForGeeks', font = "50"
w.pack()
  
menubutton = Menubutton(root, text = "Menu")   
    
menubutton.menu = Menu(menubutton)  
menubutton["menu"]= menubutton.menu  
  
var1 = IntVar()
var2 = IntVar()
var3 = IntVar()
  
menubutton.menu.add_checkbutton(label = "Courses",
                                variable = var1)  
menubutton.menu.add_checkbutton(label = "Students",
                                variable = var2)
menubutton.menu.add_checkbutton(label = "Careers",
                                variable = var3)
    
menubutton.pack()  
root.mainloop()


Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads