Ich habe noch nicht so viel Ahnung von Python und möchte nun ein kleines Programm mit Tkinter schreiben und man soll ja immer Grafik und Logik von einander trennen, nur damit tue ich mich im Moment noch schwer:
Also ich habe 2 Dateien, eine heißt "Logik", mit dem ich erreichen will, dass ein Label den Text ausgibt, falls eine der Textboxen leer sind.
Code: Alles auswählen
import sys
import Rechnung
import GUI
def Hinzufuegen():
#Prüfen, ob Textboxen leer sind:
if not GUI.EntryName.get() or not GUI.EntryDurchmesser.get() or not GUI.EntryLaenge.get():
labelInfo["Text"] = "Bitte alle Textboxen ausf\xfcllen"
Hier die Tkinter Datei:
Code: Alles auswählen
import sys
import tkinter
import Logik
#Hauptfenster
hauptfenster = tkinter.Tk()
hauptfenster.resizable(width=False, height=False)
hauptfenster.geometry("300x350")
labelInfo = tkinter.Label(hauptfenster)
labelInfo.place(relx = 0.1, rely = 0.9)
#Textboxen
EntryName = tkinter.Entry(hauptfenster)
EntryName.place(relx= 0.5, rely=0.1, anchor ="nw")
EntryDurchmesser = tkinter.Entry(hauptfenster)
EntryDurchmesser.place(relx= 0.5, rely=0.2, anchor ="nw")
EntryLaenge = tkinter.Entry(hauptfenster)
EntryLaenge.place(relx= 0.5, rely=0.3, anchor ="nw")
#Buttons
buttonHinzufuegen = tkinter.Button(hauptfenster, text = "Hinzuf\xfcgen", command = Logik.Hinzufuegen)
buttonHinzufuegen.place(relx = 0.1, rely = 0.7, anchor = "nw")
#Endlosschleife
hauptfenster.mainloop()
Nun bekomme ich beim Klicken auf den Button Hinzufügen folgenden Fehler, mit dem ich nicht so recht etwas anfangen kann:
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python31\lib\tkinter\__init__.py", line 1399, in __call__
return self.func(*args)
File "C:/Users/Marco/Desktop/Python/KK_Rechner\Logik.py", line 16, in Hinzufuegen
labelInfo["Text"] = "Bitte alle Textboxen ausf\xfcllen"
NameError: global name 'labelInfo' is not defined