Tkinter python Problem mit label?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Die Variable purchase_price_input wird in der test-Funktion angelegt und ist daher auch nur in dieser Funktion bekannt.

Du musst sie entweder als globale Variable kennzeichnen:

def test():
  # ...

  global purchase_price_input
  purchase_price_input = Entry(""" .... """)

oder außerhalb von test anlegen.

Ebenso könntest du direkt mit Klassen/Objekten arbeiten:

class Window:
  def test(self):
    # ...
    self.purchase_price_input = Entry(""" ... """)

  def gram_calculator_window(self):
    purchase_price = self.purchase_price_input.get()

window = Window()
# call methods ...

Dieses Problem, dass dir zuerst für diese Variable gemeldet wurde, wirst du noch bei anderen Variablen in deinem Programm haben. Stelle also grundsätzlich sicher, dass die GUI-Komponenten mit ihren zugehörigen Variablen in einem globaleren Kontext erzeugt werden, in dem sie langlebiger sind.