Python Tkinter – Menubutton Widget

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

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()

chevron_right


Output:




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.