Wie mache ich Buttons in tkinter unsichbar?

3 Antworten

Versuche es mal mit 

pack_forget()

http://effbot.org/tkinterbook/pack.htm

Sichtbar kannst du es dann wieder mit pack() oder einem anderen manager machen. (place, grid ...)

Kleines unsauberes Beispiel (python 3):

import tkinter

isHided = False
def test():
print("I am working")

def hide():
global isHided
isHided = not isHided
if isHided:
root.hideButton.pack_forget()
else:
root.hideButton.pack()
root = tkinter.Tk()
root.button = tkinter.Button(root, text = "Press me", command = hide)
root.button.pack()
root.hideButton = tkinter.Button(root, text = "Hide me", command = test)
root.hideButton.pack()

root.mainloop()
MrAntobr 
Fragesteller
 05.06.2016, 19:09

funktioniert das auch wenn ich versuche mehrer buttons mit dem gleichen button unsichbar zu machen ich krieg es nämlich momentan nicht hin bei mir erscheint dann die fehlermeldung "tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid"

0
LifeArtist1  05.06.2016, 19:35
@MrAntobr

klar. Aber wie es aus sieht benutzt du grid. Dann musst du glaube ich mit grid_forget() in unsichtbar machen und dann wieder mit .grid() sichtbar machen.

1
MrAntobr 
Fragesteller
 05.06.2016, 19:59
@LifeArtist1

ja habs bemerkt funktioniert auch jetzt vielen vielen dank und danke für die seite die hatte ich aus irgendeinem grund nicht gefunden

0

Sieht wohl kein Mensch je mehr, aber ich glaube, du kannst das mit "Button_name.state=HIDDEN" und "Button_name.state=NORMAL" erzielen.

LG

Hansens7234  07.06.2020, 02:26

Hmm, 25 Leute wohl doch🤔

0

b = Button(root)
b.destroy()