tkInter auf Widgeds zugreifen
Verfasst: Samstag 7. Oktober 2023, 05:51
Guten Morgen,
ich möchte ein kleinen Programm schreiben, indem man neuen Widgeds per Tastendruck hinzufügen kann.
In diesem Testprogramm geht es erst einmal nur um Buttons. Hier ist der Code:
Das hinzufügen der neuen Buttons klappt, jedoch das Ändern des Backgrounds von Button4 nicht.
Wenn ein neuer Button hinzugefügt wird, wird der Name in der Liste "buttonList" gespeichert. Jeder Button Name setzt sich aus Button[Zahl] zusammen und wird im der Variable "Var" gespeichert.
Dabei ist mir eine Änderung in der Variable "Var" aufgefallen, in der ersten Ausgabe ist sie 'Button3', in der zweiten '.!button3'
Die Änderung des bg klappt jedoch nicht mit 'Button4', 'button4' oder '!button4'.
Wie kann ich auf den Button zugreifen ?
Gruß Kai
ich möchte ein kleinen Programm schreiben, indem man neuen Widgeds per Tastendruck hinzufügen kann.
In diesem Testprogramm geht es erst einmal nur um Buttons. Hier ist der Code:
Code: Alles auswählen
import tkinter as tk
class Programm(tk.Tk):
def __init__(self):
super().__init__()
self.neuerButton = tk.Button(self, text="Neuer Button",command=self.nButton)
self.neuerButton.grid(row=1,column=0)
self.changeBG = tk.Button(self, text="bg Änderung",command=self.bgChange)
self.changeBG.grid(row=2,column=0)
self.nrow = 3
self.buttonList= []
def nButton(self):
self.Var = "Button" + str(self.nrow)
print(self.Var) # erste Ausgabe
self.buttonList.append(self.Var)
self.Var = tk.Button(self, text=self.Var)
self.Var.grid(row=self.nrow,column=0)
self.nrow += 1
print(self.Var) # zweite Ausgabe
print(self.buttonList)
def bgChange(self):
self.Button4.configure(bg='blue')
def main():
root = Programm()
root.mainloop()
if __name__ == "__main__":
main()
Wenn ein neuer Button hinzugefügt wird, wird der Name in der Liste "buttonList" gespeichert. Jeder Button Name setzt sich aus Button[Zahl] zusammen und wird im der Variable "Var" gespeichert.
Dabei ist mir eine Änderung in der Variable "Var" aufgefallen, in der ersten Ausgabe ist sie 'Button3', in der zweiten '.!button3'
Die Änderung des bg klappt jedoch nicht mit 'Button4', 'button4' oder '!button4'.
Wie kann ich auf den Button zugreifen ?
Gruß Kai