Daten verarbeiten

Fragen zu Tkinter.
Antworten
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Hi,

ich versuche manchmal ein Fenster in eine Funktion zu packen, die ich dann mittels app = gui() aufrufen will. Das klappt eigentlich auch schön, nur habe ich dann Probleme mit einer Funktion auf Daten zuzugreifen, die ein Benutzer im Fenster eingegeben hat oder aber mit einer Funktion Felder, die sich in der gui-Funktion befinden, zu manipulieren.

Gibt es hier eine vernünftige Lösung bzw. eine Empfehlung???

Läuft:

Code: Alles auswählen

from tkinter import *

def verarbeiten():
    wert = Feld.get()
    print (wert)
    return 0

gui = Tk()
    
Feld = Entry(gui)
Feld.pack()

OKButton = Button(gui, text='OK', command=verarbeiten)
OKButton.pack()

gui.mainloop()
Dagegen läuft nicht, weil Feld nicht definiert ist.

Code: Alles auswählen

from tkinter import *

def verarbeiten():
    wert = Feld.get()
    print (wert)
    return 0

def schnittstelle():
    gui = Tk()
    
    Feld = Entry(gui)
    Feld.pack()

    OKButton = Button(gui, text='OK', command=verarbeiten)
    OKButton.pack()
    
    return gui

app = schnittstelle()
app.mainloop()
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo pixewakb

Kannst du einmal das folgende ausprobieren:

Code: Alles auswählen

# -*- coding: utf-8 -*-
from tkinter import *

def verarbeiten():
    wert = app.Feld.get()
    print (wert)
    return 0

def schnittstelle():
    gui = Tk()
   
    gui.Feld = Entry(gui)
    gui.Feld.pack()

    OKButton = Button(gui, text='OK', command=verarbeiten)
    OKButton.pack()
   
    return gui

app = schnittstelle()
app.mainloop()
Gruß wuf :wink:
Take it easy Mates!
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Danke, läuft und ich kapiere den Fehler, den ich gemacht hatte! ! !
Antworten