Forum: PC-Programmierung Python erstellte schaltfläche wieder entfernen


von Sebastian (Gast)


Lesenswert?

Hallo,

ich versuche gerade eine von mir erstellte Schaltfläche durch klicken 
einer anderen zu entfernen. Kann mir jemand sagen wie das geht?
1
from tkinter import *
2
from tkinter import messagebox
3
import tkinter as tk
4
5
def button_action3():
6
    m_text = "no text here"
7
    messagebox.showwarning(message=m_text, title = "Info")
8
9
def menu1():
10
    button_menu1 = Button(fenster, text="Button1", command=button_action3)
11
    button_menu1.place(x = 10, y = 10, width=100, height=25)
12
   
13
14
def menu2():
15
    #button_menu1.destroy() #Schaltfläche aus def menu1 wieder entfernen
16
    button_menu2 = Button(fenster, text="Button2", command=button_action3)
17
    button_menu2.place(x = 50, y = 50, width=100, height=25)
18
19
20
fenster = tk.Tk()
21
22
menubar = Menu(fenster)
23
menubar.add_command(label="Exit", command=fenster.quit)
24
25
supportmenu = Menu(menubar, tearoff=0)
26
menubar.add_cascade(label="Menu", menu=supportmenu)
27
supportmenu.add_command(label="Menu 1", command=menu1)
28
supportmenu.add_command(label="Menu 2", command=menu2)
29
fenster.config(menu=menubar)   
30
fenster.mainloop()

von we (Gast)


Lesenswert?

Ich würde es mit der destroy-Methode probieren:
http://tkinter.unpythonic.net/pydoc/Tkinter.Button.html

von Sebastian (Gast)


Lesenswert?

Mit destroy habe ich das bereits versucht, aber bekomme den nicht weg.

Oben im Code ist der letzte Versuch von destroy und da sagt Python, dass 
button_menu1 nicht definiert ist

von we (Gast)


Lesenswert?

Sebastian schrieb:
> da sagt Python, dass
> button_menu1 nicht definiert ist
Das ist ja auch richtig. Momentan existiert button_menu1 nur in menu1.
Du musst es global(er) definieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.