Es scheint wohl Probleme bei der Funktion get() zu geben. Folgende Fehlermeldung wird ausgespuckt:
m1 = float(ein1.get()) # Masse Tonarm in Gramm
AttributeError: 'NoneType' object has no attribute 'get'
Die Formel zur Berechnung funktioniert. Und wenn ich den Variablen Zahlen zuweise wird das Ergebnis auch richtig ausgegeben.
Das Einlesen der Eingaben funktioniert aber leider nicht.
Hiermal der Code:
Code: Alles auswählen
import math
import tkinter as tk
root = tk.Tk()
root.title("Tonarmresonanz-Rechner")
root.geometry("350x200+100+100") # Größe und Position des Hauptfensters
def button_calc_click(): # übernahme Werte aus entry + berechnen + Ausgabe
m1 = float(ein1.get()) # Masse Tonarm in Gramm
m2 = float(ein2.get()) # Masse Tonabnehmer in Gramm
c = float(ein3.get()) # Nadelnachgibigkeit in mm/N
Fres = (1000/(2*math.pi*math.sqrt((m1+m2)*c))) # Tonarmresonanz in Hz
Fres = round(Fres,2)
print(Fres, "Hz") # nur zum Testen, soll dann in lab_result ausgegeben werden
# ------------------------------------------------------------------------------------------------
lab1 = tk.Label(root, text="Masse Tonarm in Gramm:", bg="#F781F3").grid(row=0, sticky="w")
lab2 = tk.Label(root, text="Masse Tonabnehmer in Gramm:", bg="#F781F3").grid(row=1, sticky="w")
lab3 = tk.Label(root, text="Nadelnachgibigkeit in mm/N:", bg="#F781F3").grid(row=2, sticky="w")
lab_result = tk.Label(root, text="result", width=10, bg="#F2F5A9").grid(row=3, column=1, sticky="w") # Hier Ergebnis auf Label ausgeben
ein1 = tk.Entry(root, width=10).grid(row=0, column=1)
ein2 = tk.Entry(root, width=10).grid(row=1, column=1)
ein3 = tk.Entry(root, width=10).grid(row=2, column=1)
button_calc = tk.Button(root, text="Berechnen", bg="#A9F5BC", command=button_calc_click).grid(row=3, sticky="e")
root.mainloop()