Except funktioniert nicht?

Fragen zu Tkinter.
Antworten
EddiMiY
User
Beiträge: 12
Registriert: Freitag 27. März 2020, 16:45

Moin Leute :D
Ich brauche dringend hilfe bei dem unteren code, ich habe dort unsere Formelsammlung(wenn auch nicht effektiv) in ein GUI gebastelt.
Nun möchte ich dass ich nurnoch zahlen eingeben kann und keine Buchstaben. Also versuche ich den fehler ab zu fangen der mir ausgegeben wird wenn ich ein buchstabe anstatt einer zahl eingebe aber irgendwas mache ich falsch(ist mein erstes mal mit try und except).
Ganz unten steht mein except :D
vielleicht versteht ja jemand mein programm, ich komme in dem chaos klar also bitte nur wie man den fehler abfangen kann oder wie man ein entry feld auf numbers only umstellt :D

danke schonam im vorraus

Code: Alles auswählen

import tkinter as tk
import math
# variable.get() holt den aktuellen Wert der Variable
# variable.set() gibt den aktuellen Wert der Variable vor
try:
    ####Funktionen
    def test(event):
        if Geometrievariable.get()=="Dreieck": 
            LbLbeschriftung1.set("g")
            LbLbeschriftung2.set("h")
            LbLbeschriftung3.set("a")
            LbLbeschriftung4.set("b")
            LbLbeschriftung5.set("γ°")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgDreieck
        elif Geometrievariable.get()=="Quadrat":
            LbLbeschriftung1.set("a")
            LbLbeschriftung2.set("---")
            LbLbeschriftung3.set("---")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgQuadrat
        elif Geometrievariable.get()=="Rechteck": 
            LbLbeschriftung1.set("a")
            LbLbeschriftung2.set("b")
            LbLbeschriftung3.set("---")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgRechteck
        elif Geometrievariable.get()=="Raute": 
            LbLbeschriftung1.set("g")
            LbLbeschriftung2.set("h")
            LbLbeschriftung3.set("e")
            LbLbeschriftung4.set("f")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgRaute
        elif Geometrievariable.get()=="Parallelogramm": 
            LbLbeschriftung1.set("g")
            LbLbeschriftung2.set("b")
            LbLbeschriftung3.set("h")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgParallelogramm
        elif Geometrievariable.get()=="Trapez": 
            LbLbeschriftung1.set("a")
            LbLbeschriftung2.set("c")
            LbLbeschriftung3.set("b")
            LbLbeschriftung4.set("d")
            LbLbeschriftung5.set("m")
            LbLbeschriftung6.set("h")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgTrapez
        elif Geometrievariable.get()=="Drachenviereck": 
            LbLbeschriftung1.set("a")
            LbLbeschriftung2.set("b")
            LbLbeschriftung3.set("e")
            LbLbeschriftung4.set("f")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgDrachenviereck
        elif Geometrievariable.get()=="Kreis": 
            LbLbeschriftung1.set("d")
            LbLbeschriftung2.set("r")
            LbLbeschriftung3.set("---")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgKreis
        elif Geometrievariable.get()=="Figuren↓↓↓":
            LbLbeschriftung1.set("Die")
            LbLbeschriftung2.set("folgenden")
            LbLbeschriftung3.set("Label")
            LbLbeschriftung4.set("werden")
            LbLbeschriftung5.set("sich")
            LbLbeschriftung6.set("umbenennen.")
            Art1LbLbeschrifftung.set("Flächeninhalt=")
            Art2LbLbeschrifftung.set("Umfang=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgFormelsammlung

                
        elif Geometrievariable.get()=="Körper↓↓↓":
            LbLbeschriftung1.set("Die")
            LbLbeschriftung2.set("folgenden")
            LbLbeschriftung3.set("Label")
            LbLbeschriftung4.set("werden")
            LbLbeschriftung5.set("sich")
            LbLbeschriftung6.set("umbenennen.")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set("Mantelfläche=")
            photoLbL["image"]=imgFormelsammlung
        elif Geometrievariable.get()=="Würfel": 
            LbLbeschriftung1.set("a")
            LbLbeschriftung2.set("---")
            LbLbeschriftung3.set("---")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgWürfel
        elif Geometrievariable.get()=="Quader": 
            LbLbeschriftung1.set("a")
            LbLbeschriftung2.set("b")
            LbLbeschriftung3.set("c")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgQuader
        elif Geometrievariable.get()=="Zylinder": 
            LbLbeschriftung1.set("d")
            LbLbeschriftung2.set("r")
            LbLbeschriftung3.set("k")
            LbLbeschriftung4.set("G")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set("Mantelfläche=")
            photoLbL["image"]=imgZylinder
        elif Geometrievariable.get()=="(Gerades)Prisma": 
            LbLbeschriftung1.set("k")
            LbLbeschriftung2.set("G")
            LbLbeschriftung3.set("u")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set("Mantelfläche=")
            photoLbL["image"]=imgGeradesPrisma
        elif Geometrievariable.get()=="Pyramide": 
            LbLbeschriftung1.set("G")
            LbLbeschriftung2.set("M")
            LbLbeschriftung3.set("k")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgPyramide
        elif Geometrievariable.get()=="Kegel": 
            LbLbeschriftung1.set("G")
            LbLbeschriftung2.set("M")
            LbLbeschriftung3.set("r")
            LbLbeschriftung4.set("s")
            LbLbeschriftung5.set("k")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set("Mantelfläche=")
            photoLbL["image"]=imgKegel
        elif Geometrievariable.get()=="Kugel": 
            LbLbeschriftung1.set("r")
            LbLbeschriftung2.set("d")
            LbLbeschriftung3.set("---")
            LbLbeschriftung4.set("---")
            LbLbeschriftung5.set("---")
            LbLbeschriftung6.set("---")
            Art1LbLbeschrifftung.set("Volumen=")
            Art2LbLbeschrifftung.set("Oberfläche=")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgKugel
        elif Geometrievariable.get()==" ":
            LbLbeschriftung1.set(" ")
            LbLbeschriftung2.set(" ")
            LbLbeschriftung3.set(" ")
            LbLbeschriftung4.set(" ")
            LbLbeschriftung5.set(" ")
            LbLbeschriftung6.set(" ")
            Art1LbLbeschrifftung.set(" ")
            Art2LbLbeschrifftung.set(" ")
            Art3LbLbeschrifftung.set(" ")
            photoLbL["image"]=imgFormelsammlung

    def Rechnen():  
        AErg = "Fehler!"
        UErg = "Fehler!"
        VErg = "Fehler!"
        OErg = "Fehler!"
        MErg = "Fehler!"
        if Geometrievariable.get()=="Dreieck":
            print("Dreieck")
            g = EingabeFeld1.get()
            h = EingabeFeld2.get()
            a = EingabeFeld3.get()
            b = EingabeFeld4.get()
            γ = EingabeFeld5.get()
            if g!= "0" and  h!= "0": 
                AErg=float(g) * float(h)/2 
            elif a!= "0" and b!= "0"  and γ!= "0":
                AErg=(1/2)*float(a)*float(b)* math.sin(math.radians(float(γ)))
            elif a!= "0" and b!= "0"  and g!= "0":
                UErg=float(g)*float(a)*float(b)
            ####
        elif Geometrievariable.get()=="Quadrat":
            print("Quadrat")
            a = EingabeFeld1.get()
            if a!="0":
                AErg=float(a)**2
                UErg=4*float(a)
        ####
        elif Geometrievariable.get()=="Rechteck":
            print("Rechteck")
            a = EingabeFeld1.get()
            b = EingabeFeld2.get()
            if a!= "0" and b!= "0":
                AErg=float(a)*float(b)
                UErg=(2*float(a))+(2*float(b))
        ####            
        elif Geometrievariable.get()=="Raute":
            print("Raute")
            g = EingabeFeld1.get()
            h = EingabeFeld2.get()
            e = EingabeFeld3.get()
            f = EingabeFeld4.get()
            if g!= "0" and h!= "0":
                AErg=float(g) * float(h)
            elif e!= "0" and f!= "0":
                AErg=((float(e)+float(f))/2)
            if g!= "0":
                UErg=4*float(g)
        ####
        elif Geometrievariable.get()=="Parallelogramm":
            print("Parallelogramm")
            g = EingabeFeld1.get()
            b = EingabeFeld2.get()
            h = EingabeFeld3.get()
            if g!= "0" and h!= "0":
                AErg=float(g) * float(h)
            if g!= "0" and b!= "0":
                UErg=(2*float(g))+(2*float(b))
        ####
        elif Geometrievariable.get()=="Trapez":
            print("Trapez")
            a = EingabeFeld1.get()
            c = EingabeFeld2.get()
            b = EingabeFeld3.get()
            d = EingabeFeld4.get()
            m = EingabeFeld5.get()
            h = EingabeFeld6.get()
            if m!= "0" and h!= "0":
                AErg=float(m)*float(h)
            elif a!= "0" and c!= "0" and  h!= "0":
                AErg=((float(a)+float(c))/2)*float(h)
            if a!= "0" and b!= "0" and c!= "0" and  d!= "0":
                UErg=float(a)+float(b)+float(c)+float(d)
        ####
        elif Geometrievariable.get()=="Drachenviereck":
            print("Drachenviereck")
            a = EingabeFeld1.get()
            b = EingabeFeld2.get()
            e = EingabeFeld3.get()
            f = EingabeFeld4.get()
            if e!= "0" and f!= "0":
                AErg=(float(e)*float(f))/2
            if a!= "0" and b!= "0":
                UErg=(2*float(a))+(2*float(b))
        ####   
        elif Geometrievariable.get()=="Kreis":
            print("Kreis")
            d = EingabeFeld1.get()
            r = EingabeFeld2.get()
            π = math.pi
            if r!= "0":
                AErg=2*π*(float(r)**2)
                UErg=2*π*float(r)
            if d!= "0":
                AErg=2*π*float(d)
                UErg=π*float(d)
        ####


            
        if Geometrievariable.get()=="Würfel":
            print("Würfel")
            a = EingabeFeld1.get()
            if a!="0":
                VErg=float(a)**3
                OErg=6*(float(a)**2)
        ####
        elif Geometrievariable.get()=="Quader":
            print("Quader")
            a = EingabeFeld1.get()
            b = EingabeFeld2.get()
            c = EingabeFeld3.get()
            if a!="0" and b!="0" and c!="0":
                VErg=float(a)*float(b)*float(c)
                OErg=2*(float(a)*float(b)+float(b)*float(c)+float(a)*float(c))
        ####    
        elif Geometrievariable.get()=="Zylinder":
            print("Zylinder")
            d = EingabeFeld1.get()
            r = EingabeFeld2.get()
            k = EingabeFeld3.get()
            G = EingabeFeld4.get()
            if G!="0" and k!="0":
                VErg=float(G)*float(k)
            elif r!="0" and k!="0":
                VErg=math.pi*float(r)**2*float(k)
            if r!="0" and k!="0":
                MErg=2*math.pi*float(r)*float(k)
                OErg=2*math.pi*float(r)*(float(r)+float(k))
                MErgebnis.set(MErg)
            elif d!="0" and k!="0":
                MErg=math.pi*float(d)*float(k)
                MErgebnis.set(MErg)
            if G!="0" and MErgebnis.get()!="0":
                OErg=2*float(G)+float(MErgebnis.get())
        ####    
        elif Geometrievariable.get()=="(Gerades)Prisma":
            print("(Gerades)Prisma")
            k = EingabeFeld1.get()
            G = EingabeFeld2.get()
            u = EingabeFeld3.get()
            if G!="0" and k!="0":
                VErg=float(G)*float(k)
            if u!="0" and k!="0":
                MErg=float(u)*float(k)
                MErgebnis.set(MErg)
            if G!="0" and MErgebnis.get()!="0":
                OErg=2*float(G)+float(MErgebnis.get())
        ####
        elif Geometrievariable.get()=="Pyramide":
            print("Pyramide")
            G = EingabeFeld1.get()
            M = EingabeFeld2.get()
            k = EingabeFeld3.get()
            if G!="0" and k!="0":
                VErg=(1/3)*float(G)*float(k)
            if G!="0" and M!="0":
                OErg=float(G)+float(M)
        ####
        elif Geometrievariable.get()=="Kegel":
            print("Kegel")
            G = EingabeFeld1.get()
            M = EingabeFeld2.get()
            r = EingabeFeld3.get()
            s = EingabeFeld4.get()
            k = EingabeFeld5.get()
            if G!="0" and k!="0":
                VErg=(1/3)*float(G)*float(k)
            elif r!="0" and k!="0":
                VErg=(1/3)*math.pi*(float(r)**2)*float(k)
            if r!="0" and s!="0":
                MErg=math.pi*float(r)*float(s)
                OErg=math.pi*float(r)*(float(r)+float(s))
            if G!="0" and M!="0":
                OErg=float(G)+float(M)
        ####   
        elif Geometrievariable.get()=="Kugel":
            print("Kugel")
            r = EingabeFeld1.get()
            d = EingabeFeld2.get()
            if d!="0":
                r=float(d)/2
            if r!="0":
                VErg=(4/3)*math.pi*(float(r)**3)
                OErg=4*math.pi*(float(r)**2)
        ####
        ####
        if Geometrievariable.get()=="Dreieck"or Geometrievariable.get()== "Quadrat"or Geometrievariable.get()== "Rechteck"or Geometrievariable.get()=="Raute"or Geometrievariable.get()=="Parallelogramm"or Geometrievariable.get()=="Trapez"or Geometrievariable.get()=="Drachenviereck"or Geometrievariable.get()=="Kreis":
            AVLbLbeschrifftung.set(AErg)
            UOLbLbeschrifftung.set(UErg)
        elif Geometrievariable.get()=="Würfel"or Geometrievariable.get()=="Quader"or Geometrievariable.get()=="Zylinder"or Geometrievariable.get()=="(Gerades)Prisma"or Geometrievariable.get()=="Pyramide"or Geometrievariable.get()=="Kegel"or Geometrievariable.get()=="Kugel":
            AVLbLbeschrifftung.set(VErg)
            UOLbLbeschrifftung.set(OErg)
        if Geometrievariable.get()=="Zylinder"or Geometrievariable.get()=="(Gerades)Prisma"or Geometrievariable.get()=="Kegel":
            MLbLbeschrifftung.set(MErg)
      

           
            
                

    ####GUI name 
    GUI = tk.Tk()
    GUI.title("Formelsammlung")
    GUI.configure(bg='#84FF84')
    ####Bilder
    imgFormelsammlung = tk.PhotoImage(file = "D:\PythonProjekt\Formelsammung.PNG")
    imgDreieck = tk.PhotoImage(file = "D:\PythonProjekt\Dreieck.PNG")
    imgQuadrat = tk.PhotoImage(file = "D:\PythonProjekt\Quadrat.PNG")
    imgRechteck = tk.PhotoImage(file = "D:\PythonProjekt\Rechteck.PNG")
    imgRaute = tk.PhotoImage(file = "D:\PythonProjekt\Raute.PNG")
    imgParallelogramm = tk.PhotoImage(file = "D:\PythonProjekt\Parallelogramm.PNG")
    imgTrapez = tk.PhotoImage(file = "D:\PythonProjekt\Trapez.PNG")
    imgDrachenviereck = tk.PhotoImage(file = "D:\PythonProjekt\Drachenviereck.PNG")
    imgKreis = tk.PhotoImage(file = "D:\PythonProjekt\Kreis.PNG")
    imgWürfel = tk.PhotoImage(file = "D:\PythonProjekt\Würfel.PNG")
    imgQuader = tk.PhotoImage(file = "D:\PythonProjekt\Quader.PNG")
    imgZylinder = tk.PhotoImage(file = "D:\PythonProjekt\Zylinder.PNG")
    imgGeradesPrisma = tk.PhotoImage(file = "D:\PythonProjekt\(Gerades)Prisma.PNG")
    imgPyramide = tk.PhotoImage(file = "D:\PythonProjekt\Pyramide.PNG")
    imgKegel = tk.PhotoImage(file = "D:\PythonProjekt\Kegel.PNG")
    imgKugel = tk.PhotoImage(file = "D:\PythonProjekt\Kugel.PNG")

    imgFormelsammlung = imgFormelsammlung.subsample(2, 2)
    imgDreieck = imgDreieck.subsample(2, 2)
    imgQuadrat = imgQuadrat.subsample(2, 2)
    imgRechteck = imgRechteck.subsample(2, 2)
    imgRaute = imgRaute.subsample(2, 2)
    imgParallelogramm = imgParallelogramm.subsample(2, 2)
    imgTrapez = imgTrapez.subsample(2, 2)
    imgDrachenviereck = imgDrachenviereck.subsample(2, 2)
    imgKreis = imgKreis.subsample(2, 2)
    imgWürfel = imgWürfel.subsample(2, 2)
    imgQuader = imgQuader.subsample(2, 2)
    imgZylinder = imgZylinder.subsample(2, 2)
    imgGeradesPrisma = imgGeradesPrisma.subsample(2, 2)
    imgPyramide = imgPyramide.subsample(2, 2)
    imgKegel = imgKegel.subsample(2, 2)
    imgKugel = imgKugel.subsample(2, 2)

    ####Variablen
    Geometrievariable = tk.StringVar(GUI)
    LbLbeschriftung1 = tk.StringVar(GUI)
    LbLbeschriftung2 = tk.StringVar(GUI)
    LbLbeschriftung3 = tk.StringVar(GUI)
    LbLbeschriftung4 = tk.StringVar(GUI)
    LbLbeschriftung5 = tk.StringVar(GUI)
    LbLbeschriftung6 = tk.StringVar(GUI)

    UOLbLbeschrifftung = tk.StringVar(GUI)
    AVLbLbeschrifftung = tk.StringVar(GUI)
    MLbLbeschrifftung = tk.StringVar(GUI)
    MErgebnis = tk.StringVar(GUI)
    Art1LbLbeschrifftung = tk.StringVar(GUI)
    Art2LbLbeschrifftung = tk.StringVar(GUI)
    Art3LbLbeschrifftung = tk.StringVar(GUI)

    ####Auswahlfenster
    data=("Figuren↓↓↓", "Dreieck", "Quadrat", "Rechteck","Raute","Parallelogramm","Trapez","Drachenviereck","Kreis"," ","Körper↓↓↓","Würfel","Quader","Zylinder","(Gerades)Prisma","Pyramide","Kegel","Kugel")
    Geometrievariable.set("Figuren↓↓↓")
    Auswahl = tk.OptionMenu(GUI, Geometrievariable, *data, command=test)
    Auswahl.grid(row=1, column=0)
    Auswahl.configure(bg='#84FF84')
    Auswahl["highlightthickness"]=0
    ####Button
    RechnenBTN = tk.Button(GUI, command=Rechnen, text="Rechnen")
    RechnenBTN.grid(row=2, column=0)
    RechnenBTN.configure(bg='#84FF84')
    ####Textbox
    EingabeFeld1  = tk.Entry(GUI)
    EingabeFeld1 .grid(row=2, column=2)

    EingabeFeld2  = tk.Entry(GUI)
    EingabeFeld2 .grid(row=3, column=2)

    EingabeFeld3  = tk.Entry(GUI)
    EingabeFeld3 .grid(row=4, column=2)

    EingabeFeld4  = tk.Entry(GUI)
    EingabeFeld4 .grid(row=5, column=2)

    EingabeFeld5  = tk.Entry(GUI)
    EingabeFeld5 .grid(row=6, column=2)

    EingabeFeld6  = tk.Entry(GUI)
    EingabeFeld6 .grid(row=7, column=2)

    ####Label
    LbLbeschriftung1.set("Die")
    LbLbeschriftung2.set("folgenden")
    LbLbeschriftung3.set("Label")
    LbLbeschriftung4.set("werden")
    LbLbeschriftung5.set("sich")
    LbLbeschriftung6.set("umbenennen.")
    label1 = tk.Label(GUI, textvariable=LbLbeschriftung1,height=1, width=10)
    label1.grid(row=2, column=1)
    label1.configure(bg='#84FF84')

    label2 = tk.Label(GUI, textvariable=LbLbeschriftung2,height=1, width=10)
    label2.grid(row=3, column=1)    
    label2.configure(bg='#84FF84')

    label3 = tk.Label(GUI, textvariable=LbLbeschriftung3,height=1, width=10)
    label3.grid(row=4, column=1)  
    label3.configure(bg='#84FF84')

    label4 = tk.Label(GUI, textvariable=LbLbeschriftung4,height=1, width=10)
    label4.grid(row=5, column=1)  
    label4.configure(bg='#84FF84')

    label5 = tk.Label(GUI, textvariable=LbLbeschriftung5,height=1, width=10)
    label5.grid(row=6, column=1)  
    label5.configure(bg='#84FF84')

    label6 = tk.Label(GUI, textvariable=LbLbeschriftung6,height=1, width=10)
    label6.grid(row=7, column=1)  
    label6.configure(bg='#84FF84')

    label10 = tk.Label(GUI, text="falls sie keinen wert haben setzen sie ein [0] ein",height=1, width=35)
    label10.grid(row=3, column=0)
    label10.configure(bg='#84FF84')
    ####
    label7 = tk.Label(GUI, textvariable=Art1LbLbeschrifftung,height=1, width=14)
    label7.grid(row=8, column=1)
    label7.configure(bg='#84FF84')
    ALbL = tk.Label(GUI, textvariable=AVLbLbeschrifftung,height=1, width=14)
    ALbL.grid(row=8, column=2)
    ALbL.configure(bg='#84FF84')

    label8 = tk.Label(GUI, textvariable=Art2LbLbeschrifftung,height=1, width=14)
    label8.grid(row=9, column=1)
    label8.configure(bg='#84FF84')
    ULbL = tk.Label(GUI, textvariable=UOLbLbeschrifftung,height=1, width=14)
    ULbL.grid(row=9, column=2)
    ULbL.configure(bg='#84FF84')

    label9 = tk.Label(GUI, textvariable=Art3LbLbeschrifftung,height=1, width=14)
    label9.grid(row=10, column=1)
    label9.configure(bg='#84FF84')
    MLbL = tk.Label(GUI, textvariable=MLbLbeschrifftung,height=1, width=14)
    MLbL.grid(row=10, column=2)
    MLbL.configure(bg='#84FF84')
    ####


    photoLbL = tk.Label(GUI, image=imgFormelsammlung)
    photoLbL.grid(row=0, column=2)
    photoLbL.configure(bg='#84FF84')









    tk.mainloop()

except ValueError:
    print("eingabefehler 1")
   
nezzcarth
User
Beiträge: 1774
Registriert: Samstag 16. April 2011, 12:47

EddiMiY hat geschrieben: Samstag 11. April 2020, 13:44 vielleicht versteht ja jemand mein programm, ich komme in dem chaos klar also bitte nur wie man den fehler abfangen kann oder wie man ein entry feld auf numbers only umstellt :D
Unter der Bedingung ist es schwierig, dir zu helfen. Das Chaos ist Teil des Problems. Wenn man Try-Except verwendet, versucht man den eingeschlossenen Code-Block so gut es geht zu minimieren; im Idealfall auf eine, oder einige wenige Zeilen. So wie du das machst, über fast den gesamten Code hinweg, ist das extrem unüblich und ein Zeichen für schlecht aufgebauten Code. Daher solltest du dir überlegen, ob nicht doch weitergehende Hilfe annehmen möchtest.
Zuletzt geändert von nezzcarth am Samstag 11. April 2020, 14:02, insgesamt 1-mal geändert.
Sirius3
User
Beiträge: 18289
Registriert: Sonntag 21. Oktober 2012, 17:20

@EddiMiY: was alles an Deinem Code nicht so toll ist, hatte ich Dir ja schon geschrieben. Daher habe ich eigentlich keine Lust, den gleichen Kauderwelsch nochmal anzuschauen.

Der try-Block ist falsch, denn bei der Definition der Funktionen tritt kein Fehler auf, sondern nur bei der Ausführung. Der try-Block sollte so kurz wie möglich sein, also am besten nur eine Zeile mit dem float-Aufruf enthalten. Nach der Fehlerbehandlung sollte die Ausführung auch wieder in einem Zustand sein, mit dem man weiter arbeiten kann.
EddiMiY
User
Beiträge: 12
Registriert: Freitag 27. März 2020, 16:45

Sirius3 hat geschrieben: Samstag 11. April 2020, 14:01 @EddiMiY: was alles an Deinem Code nicht so toll ist, hatte ich Dir ja schon geschrieben. Daher habe ich eigentlich keine Lust, den gleichen Kauderwelsch nochmal anzuschauen.

Der try-Block ist falsch, denn bei der Definition der Funktionen tritt kein Fehler auf, sondern nur bei der Ausführung. Der try-Block sollte so kurz wie möglich sein, also am besten nur eine Zeile mit dem float-Aufruf enthalten. Nach der Fehlerbehandlung sollte die Ausführung auch wieder in einem Zustand sein, mit dem man weiter arbeiten kann.
danke, hat echt geholfen zu wissen das der try block nicht zu lang sein kenn.... jetzt funktioniert es

kuss aufs auge
LG
Antworten