ich habe da mal ne kurze frage ob es irgendwie in python sowas wie key events gibt?
Code: Alles auswählen
if ##keyevent=Enter:
print("Enter")
Code: Alles auswählen
if ##keyevent=Enter:
print("Enter")
noisefloor hat geschrieben: Mittwoch 15. April 2020, 15:01 Hallo,
es gibt Module, die das bereit stellen. Ein ist z.B. pygame. Wenn du "nur" Key Events brauchst ist ein spezialisiertes Modul aber vielleicht die schlankere Wahl. Befrage Google mal nach "python key event".
Gruß, noisefloor
noisefloor hat geschrieben: Mittwoch 15. April 2020, 16:20 Hallo,
??? - verstehe ich nicht wirklich. Wo bekommt denn die Formel die Daten her? Hat dein Programm eine GUI oder nicht? GUI-Frameworks haben auch Methoden für Key Events.
Und was hast du schon probiert, was nicht funktioniert? Zeig mal deinen Code, dann kann man wesentlich konkreter helfen.
Gruß, noisefloor
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
####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()
try:
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(γ)))
if a!= "0" and b!= "0" and g!= "0":
UErg=float(g)+float(a)+float(b)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Quadrat":
print("Quadrat")
a = EingabeFeld1.get()
try:
if a!="0":
AErg=float(a)**2
UErg=4*float(a)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Rechteck":
print("Rechteck")
a = EingabeFeld1.get()
b = EingabeFeld2.get()
try:
if a!= "0" and b!= "0":
AErg=float(a)*float(b)
UErg=(2*float(a))+(2*float(b))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Raute":
print("Raute")
g = EingabeFeld1.get()
h = EingabeFeld2.get()
e = EingabeFeld3.get()
f = EingabeFeld4.get()
try:
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)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Parallelogramm":
print("Parallelogramm")
g = EingabeFeld1.get()
b = EingabeFeld2.get()
h = EingabeFeld3.get()
try:
if g!= "0" and h!= "0":
AErg=float(g) * float(h)
if g!= "0" and b!= "0":
UErg=(2*float(g))+(2*float(b))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Trapez":
print("Trapez")
a = EingabeFeld1.get()
c = EingabeFeld2.get()
b = EingabeFeld3.get()
d = EingabeFeld4.get()
m = EingabeFeld5.get()
h = EingabeFeld6.get()
try:
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)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Drachenviereck":
print("Drachenviereck")
a = EingabeFeld1.get()
b = EingabeFeld2.get()
e = EingabeFeld3.get()
f = EingabeFeld4.get()
try:
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))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Kreis":
print("Kreis")
d = EingabeFeld1.get()
r = EingabeFeld2.get()
try:
if r!= "0":
AErg=2*π*(float(r)**2)
UErg=2*π*float(r)
if d!= "0":
AErg=2*π*float(d)
UErg=math.pi*float(d)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
if Geometrievariable.get()=="Würfel":
print("Würfel")
a = EingabeFeld1.get()
try:
if a!="0":
VErg=float(a)**3
OErg=6*(float(a)**2)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Quader":
print("Quader")
a = EingabeFeld1.get()
b = EingabeFeld2.get()
c = EingabeFeld3.get()
try:
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))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Zylinder":
print("Zylinder")
d = EingabeFeld1.get()
r = EingabeFeld2.get()
k = EingabeFeld3.get()
G = EingabeFeld4.get()
try:
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())
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="(Gerades)Prisma":
print("(Gerades)Prisma")
k = EingabeFeld1.get()
G = EingabeFeld2.get()
u = EingabeFeld3.get()
try:
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())
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Pyramide":
print("Pyramide")
G = EingabeFeld1.get()
M = EingabeFeld2.get()
k = EingabeFeld3.get()
try:
if G!="0" and k!="0":
VErg=(1/3)*float(G)*float(k)
if G!="0" and M!="0":
OErg=float(G)+float(M)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Kegel":
print("Kegel")
G = EingabeFeld1.get()
M = EingabeFeld2.get()
r = EingabeFeld3.get()
s = EingabeFeld4.get()
k = EingabeFeld5.get()
try:
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)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Kugel":
print("Kugel")
r = EingabeFeld1.get()
d = EingabeFeld2.get()
try:
if d!="0":
r=float(d)/2
VErg=(4/3)*math.pi*(float(r)**3)
OErg=4*math.pi*(float(r)**2)
if r!="0":
VErg=(4/3)*math.pi*(float(r)**3)
OErg=4*math.pi*(float(r)**2)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
####
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 = "Formelsammung.PNG")
imgDreieck = tk.PhotoImage(file = "Dreieck.PNG")
imgQuadrat = tk.PhotoImage(file = "Quadrat.PNG")
imgRechteck = tk.PhotoImage(file = "Rechteck.PNG")
imgRaute = tk.PhotoImage(file = "Raute.PNG")
imgParallelogramm = tk.PhotoImage(file = "Parallelogramm.PNG")
imgTrapez = tk.PhotoImage(file = "Trapez.PNG")
imgDrachenviereck = tk.PhotoImage(file = "Drachenviereck.PNG")
imgKreis = tk.PhotoImage(file = "Kreis.PNG")
imgWürfel = tk.PhotoImage(file = "Würfel.PNG")
imgQuader = tk.PhotoImage(file = "Quader.PNG")
imgZylinder = tk.PhotoImage(file = "Zylinder.PNG")
imgGeradesPrisma = tk.PhotoImage(file = "(Gerades)Prisma.PNG")
imgPyramide = tk.PhotoImage(file = "Pyramide.PNG")
imgKegel = tk.PhotoImage(file = "Kegel.PNG")
imgKugel = tk.PhotoImage(file = "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()
Code: Alles auswählen
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()
try:
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(γ)))
if a!= "0" and b!= "0" and g!= "0":
UErg=float(g)+float(a)+float(b)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Quadrat":
print("Quadrat")
a = EingabeFeld1.get()
try:
if a!="0":
AErg=float(a)**2
UErg=4*float(a)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Rechteck":
print("Rechteck")
a = EingabeFeld1.get()
b = EingabeFeld2.get()
try:
if a!= "0" and b!= "0":
AErg=float(a)*float(b)
UErg=(2*float(a))+(2*float(b))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Raute":
print("Raute")
g = EingabeFeld1.get()
h = EingabeFeld2.get()
e = EingabeFeld3.get()
f = EingabeFeld4.get()
try:
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)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Parallelogramm":
print("Parallelogramm")
g = EingabeFeld1.get()
b = EingabeFeld2.get()
h = EingabeFeld3.get()
try:
if g!= "0" and h!= "0":
AErg=float(g) * float(h)
if g!= "0" and b!= "0":
UErg=(2*float(g))+(2*float(b))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Trapez":
print("Trapez")
a = EingabeFeld1.get()
c = EingabeFeld2.get()
b = EingabeFeld3.get()
d = EingabeFeld4.get()
m = EingabeFeld5.get()
h = EingabeFeld6.get()
try:
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)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Drachenviereck":
print("Drachenviereck")
a = EingabeFeld1.get()
b = EingabeFeld2.get()
e = EingabeFeld3.get()
f = EingabeFeld4.get()
try:
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))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Kreis":
print("Kreis")
d = EingabeFeld1.get()
r = EingabeFeld2.get()
try:
if r!= "0":
AErg=2*π*(float(r)**2)
UErg=2*π*float(r)
if d!= "0":
AErg=2*π*float(d)
UErg=math.pi*float(d)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
if Geometrievariable.get()=="Würfel":
print("Würfel")
a = EingabeFeld1.get()
try:
if a!="0":
VErg=float(a)**3
OErg=6*(float(a)**2)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Quader":
print("Quader")
a = EingabeFeld1.get()
b = EingabeFeld2.get()
c = EingabeFeld3.get()
try:
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))
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Zylinder":
print("Zylinder")
d = EingabeFeld1.get()
r = EingabeFeld2.get()
k = EingabeFeld3.get()
G = EingabeFeld4.get()
try:
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())
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="(Gerades)Prisma":
print("(Gerades)Prisma")
k = EingabeFeld1.get()
G = EingabeFeld2.get()
u = EingabeFeld3.get()
try:
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())
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Pyramide":
print("Pyramide")
G = EingabeFeld1.get()
M = EingabeFeld2.get()
k = EingabeFeld3.get()
try:
if G!="0" and k!="0":
VErg=(1/3)*float(G)*float(k)
if G!="0" and M!="0":
OErg=float(G)+float(M)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Kegel":
print("Kegel")
G = EingabeFeld1.get()
M = EingabeFeld2.get()
r = EingabeFeld3.get()
s = EingabeFeld4.get()
k = EingabeFeld5.get()
try:
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)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
elif Geometrievariable.get()=="Kugel":
print("Kugel")
r = EingabeFeld1.get()
d = EingabeFeld2.get()
try:
if d!="0":
r=float(d)/2
VErg=(4/3)*math.pi*(float(r)**3)
OErg=4*math.pi*(float(r)**2)
if r!="0":
VErg=(4/3)*math.pi*(float(r)**3)
OErg=4*math.pi*(float(r)**2)
except ValueError:
print("Es gab ein fehler bei der eingabe, achten sie darauf dass die keine buchstaben verwenden...Außerdem sollten sie bei Kommazahlen ein [.] verwenden kein [,]")
####
####
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)
hat echt schonmal geholfen , aber brauche da ehr hilfe :/noisefloor hat geschrieben: Mittwoch 15. April 2020, 16:33 Hallo,
Tkinter kennt key events: https://effbot.org/tkinterbook/tkinter- ... ndings.htm
Du musst einfach die Funktionen "Rechnen" an das Enter-Key Event binden.
Und du solltest _dringend_ deine Code in eine Klasse stecken und sinnvoll in Methoden aufteilen. Was du da hast ist ja nicht wirklich wart- und erweiterbar.
Gruß, noisefloor