Seite 1 von 1

Funktionsübergabe Tkinter

Verfasst: Samstag 10. Dezember 2016, 16:39
von Fl4mer
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?

Re: Funktionsübergabe Tkinter

Verfasst: Samstag 10. Dezember 2016, 17:19
von 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.

Re: Funktionsübergabe Tkinter

Verfasst: Samstag 10. Dezember 2016, 17:36
von Fl4mer
Danke hast mir wirklich sehr geholfen. Saß an dem Fehler schon viel zu lange.