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 
Beitragsersteller
 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"

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.

MrAntobr 
Beitragsersteller
 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

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🤔

b = Button(root)
b.destroy()