Hallo,
was in PHP sehr einfach umzusetzen ist, scheint in Python ein komplexes Thema zu sein: Dynamische Variablennamen
Ich möchte diesen Code
mittels Schleife mehrfach ausgeben (sprich: es sollen mehrere Buttons erzeugt werden.
Damit "Bind" die Zuordnung zum richtigen Button findet, benötige ich jedes Mal einen neuen Variablennamen.
Bei 3 Durchläufen muss das Ergebis so aussehen:
Wie kann ich die Variable meinButtonx dynamisch generieren?
Als möglichen Ansatz (?) habe ich "setattr" und "getattr" gefunden:
https://www.programiz.com/python-programming/methods/built-in/setattr
https://www.programiz.com/python-programming/methods/built-in/getattr
Damit kann ich tatsächlich einen dynamischen Variablennamen erzeugen, und diesen Namen auch einen Wert zuweisen, aber in meinem Fall soll kein einzelner Wert (z.B. eine Zahl oder ein String) zugewiesen werden, sondern ein kompletter "Button-Code" inklusive die Bind-Funktion. Also so:
Wer kann helfen?
was in PHP sehr einfach umzusetzen ist, scheint in Python ein komplexes Thema zu sein: Dynamische Variablennamen
Ich möchte diesen Code
Code:
meinButton1 = wx.Button(self.panel, -1, "Inhalt1", pos=(0, 0), size=(50, 20))
meinButton1.Bind(wx.EVT_BUTTON, lambda event: self.start('blabla'))
Damit "Bind" die Zuordnung zum richtigen Button findet, benötige ich jedes Mal einen neuen Variablennamen.
Bei 3 Durchläufen muss das Ergebis so aussehen:
Code:
meinButton1 = wx.Button(self.panel, -1, "Inhalt1", pos=(0, 0), size=(50, 20))
meinButton1.Bind(wx.EVT_BUTTON, lambda event: self.start('blabla'))
meinButton2 = wx.Button(self.panel, -1, "Inhalt2", pos=(0, 0), size=(50, 20))
meinButton2.Bind(wx.EVT_BUTTON, lambda event: self.start('blabla'))
meinButton3 = wx.Button(self.panel, -1, "Inhalt3", pos=(0, 0), size=(50, 20))
meinButton3.Bind(wx.EVT_BUTTON, lambda event: self.start('blabla'))
Wie kann ich die Variable meinButtonx dynamisch generieren?
Als möglichen Ansatz (?) habe ich "setattr" und "getattr" gefunden:
https://www.programiz.com/python-programming/methods/built-in/setattr
https://www.programiz.com/python-programming/methods/built-in/getattr
Damit kann ich tatsächlich einen dynamischen Variablennamen erzeugen, und diesen Namen auch einen Wert zuweisen, aber in meinem Fall soll kein einzelner Wert (z.B. eine Zahl oder ein String) zugewiesen werden, sondern ein kompletter "Button-Code" inklusive die Bind-Funktion. Also so:
Code:
meinButton1 = wx.Button(self.panel, -1, "Inhalt1", pos=(0, 0), size=(50, 20))
meinButton1.Bind(wx.EVT_BUTTON, lambda event: self.start('blabla'))
Wer kann helfen?