2016-07-24 4 views
3

Entfernen kann ich mein Menü mit dem folgenden Befehl ein:ausgeblendet oder eine Menüleiste von tkinter in Python

my_tk.config(menu=my_menu_bar) 

Aber, Wie kann ich es entfernen oder ganz verbergen?

my_tk.config(menu=None) 

funktioniert nicht :-(

+0

haben Sie versucht, es mit einer Instanz eines 'Menu' ersetzen, die nichts drin hat? –

Antwort

2

Ein anderer Weg ist:

from tkinter import * 
root = Tk() 

menubar = Menu(root) 
root.config(menu=menubar) 

submenu = Menu(menubar) 
menubar.add_cascade(label="Submenu", menu=submenu) 
submenu.add_command(label="Option 1") 
submenu.add_command(label="Option 2") 
submenu.add_command(label="Option 3") 

def remove_func(): 
    emptyMenu = Menu(root) 
    root.config(menu=emptyMenu) 

remove_button = Button(root, text="Remove", command=remove_func) 
remove_button.pack() 

Was ist anders:
in

def remove_func(): 

erstellt ein leeres Menü

emptyMenu = Menu(root) 

und ersetzt es mit dem aktuellen Menü (menubar)

root.config(menu=emptyMenu) 
+0

Ich werde diese Antwort als Antwort wählen, weil sie besser den Ausblenden Teil meiner Frage beantworten :) Vielen Dank! – Cabu

+0

Zusätzlich können Sie eine Show-Funktionalität hinzufügen, die ein neues Menü mit seinen Untermenüs enthält, von denen jedes Elemente enthält. –

2

Ist das, was Sie suchen:

from tkinter import * 
root = Tk() 

menubar = Menu(root) 
root.config(menu=menubar) 

submenu = Menu(menubar) 
menubar.add_cascade(label="Submenu", menu=submenu) 
submenu.add_command(label="Option 1") 
submenu.add_command(label="Option 2") 
submenu.add_command(label="Option 3") 

def remove_func(): 
    menubar.delete(0, END) 

remove_button = Button(root, text="Remove", command=remove_func) 
remove_button.pack() 

0

Gerade FYI, ich weiß, diese Frage ist alt und hat eine akzeptierte Antwort, aber das funktionierte für mich auf tkinter Version 8.6 Python 3

my_tk.config(menu="") 

Aus irgendeinem Grund ein leerer String funktioniert, aber nicht None