Disable Menu Item in Tkinter
To disable a menu item in Tkinter, set the state of the menu item to disabled using Menu.entryconfig() method.
For example, if there is a menu item with the label “Item3” in the menu_1 Menu object, then the syntax to disable the menu item is
menu_1.entryconfig("Item3", state="disabled")
For the first argument, instead of the label string, you can also pass the index of the item in the menu to disable the menu item.
In this tutorial, you will learn how to disable a menu item in Tkinter, as shown in the following example menu.
Menu1 # Menu1 is a menu in menu bar
Item1 # item under Menu1
Item2 # item under Menu1
"Item3" # disabled item under Menu1
Item4 # item under Menu1
Example
In this example, we shall create a window, create a menu bar, create a menu, say Menu1, add few items to this Menu1, and then disable a menu item “Item3”.
Python Program
import tkinter as tk
# Create the main window
window = tk.Tk()
# Create the menu bar
menu_bar = tk.Menu(window)
# Create the menu Menu1
menu_1 = tk.Menu(menu_bar, tearoff=0)
# Add items for Menu1
menu_1.add_command(label="Item1")
menu_1.add_command(label="Item2")
menu_1.add_cascade(label="Item3")
menu_1.add_cascade(label="Item4")
# Disable the "Item3" menu item
menu_1.entryconfig("Item3", state="disabled")
# Add the menu to the menu bar
menu_bar.add_cascade(label="Menu1", menu=menu_1)
# Attach the menu bar to the main window
window.config(menu=menu_bar)
# Start the Tkinter event loop
window.mainloop()
Output
Summary
In this Python Tkinter tutorial, we learned how to disable a menu item in Tkinter, with the help of examples.