tkinter Objekt keys ausgeben
Verfasst: Dienstag 23. Mai 2023, 16:04
Guten Tag,
ich habe ein Problem mit tkinter, ich möchte mir die vorhandenen keys von Labeln, Buttons etc. ausgeben.
Dafür soll man folgenden Befehl ausführen.
Es klappt bei mir aber nur wenn ich vorher die Objekte mit dem Manager angeordnet habe, wenn ich verwenden geht der Befehl nicht.
Hier ist der Beipielcode: Die Ausgabe funktioniert.
Die Ausgabe funktioniert nicht:
Es kommt folgende Fehlermeldung:
Warum kann ich mir die Keys nicht auch bei Grid ausgeben, bzw. was muss ich verändern damit es auch damit geht ?
Gruß Kai
edit:
Die Ausgabe klappt mit diesem Code:
Warum klappt die Ausgabe, wenn ich das .grid() eine Zeile späte zuweise ?
ich habe ein Problem mit tkinter, ich möchte mir die vorhandenen keys von Labeln, Buttons etc. ausgeben.
Dafür soll man folgenden Befehl ausführen
Code: Alles auswählen
Objekt.keys()
Es klappt bei mir aber nur wenn ich vorher die Objekte mit dem
Code: Alles auswählen
.pack()
Code: Alles auswählen
.grid()
Hier ist der Beipielcode: Die Ausgabe funktioniert.
Code: Alles auswählen
import tkinter as tk
class Programm(tk.Tk):
def __init__(self):
super().__init__()
self.dolarLabel = tk.Label(self ,text="Dollar: ")
self.dolarLabel.pack()
print(self.dolarLabel.keys())
def main():
root = Programm()
root.mainloop()
if __name__ == "__main__":
main()
Code: Alles auswählen
import tkinter as tk
class Programm(tk.Tk):
def __init__(self):
super().__init__()
self.dolarLabel = tk.Label(self ,text="Dollar: ").grid(row=0, column=0)
print(self.dolarLabel.keys())
def main():
root = Programm()
root.mainloop()
if __name__ == "__main__":
main()
Code: Alles auswählen
AttributeError: 'NoneType' object has no attribute 'keys'
Gruß Kai
edit:
Die Ausgabe klappt mit diesem Code:
Code: Alles auswählen
import tkinter as tk
class Programm(tk.Tk):
def __init__(self):
super().__init__()
self.dolarLabel = tk.Label(self ,text="Dollar: ")
self.dolarLabel.grid(row=0, column=0)
print(self.dolarLabel.keys())
def main():
root = Programm()
root.mainloop()
if __name__ == "__main__":
main()