Funktionsübergabe Tkinter

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Fl4mer
User
Beiträge: 25
Registriert: Donnerstag 24. November 2016, 19:10

Hey Leute bräuchte Hilfe bei meinem Programm probiere mich gerade ein bisschen mit GUI's aus und verstehe nicht ganz wie ich zwischen Zwei Funktionen, unter Benutzung von Tkinter, Variablen zwischen Funktionen übergebe.

Code: Alles auswählen

import tkinter as tk


class Test:
    def __init__(self):
        master = tk.Tk()
        tk.Label(master, text = "First Name").grid(row = 0, column = 0)
        tk.Label(master, text = "Last Name").grid(row = 1, column = 0)
        e1 = tk.Entry(master)
        e2 = tk.Entry(master)
        button = tk.Button(master, text = "Check", command = self.names)

        e1.grid(row = 0, column = 1)
        e2.grid(row = 1, column = 1)
        button.grid(row = 2, column = 1)

        master.mainloop()

    def names(self):
        """Read in Names and print them"""
        first_name = e1.get()
        last_name = e2.get()
        print(first_name, last_name)

        


Test()
Möchte die eingegebenen Variablen e1 und e2, welches das GUI erfasst in names verwenden. Das Problem ist nur das diese in dieser Funktion noch nicht bekannt sind. Wie kann ich eine einfache Variablen Übergabe durchführen?
BlackJack

@Fl4mer: Du musst alles was den Zustand eines `Test`-Objekts ausmacht in der `__init__()` an dieses Objekt, also `self` binden. Also in diesem Fall `e1` und `e2`. Dann kannst Du, auch wieder über `self`, in den anderen Methoden darauf zugreifen. Allerdings solltest Du die umbennenen, beispielsweise in `first_name_entry` und `last_name_entry`, damit der Leser auch weiss wofür die stehen.
Fl4mer
User
Beiträge: 25
Registriert: Donnerstag 24. November 2016, 19:10

Danke hast mir wirklich sehr geholfen. Saß an dem Fehler schon viel zu lange.
Antworten