Ich muss einen Eintrag von einer GUI in einer Gleichung verwenden, und ich bekomme konsequent Fehler, wenn ich versuche, es in eine ganze Zahl zu konvertieren. Die Variable, die ich konvertieren möchte, ist als "Radius" gekennzeichnet.Wie konvertiert man einen tkinter Eintrag in eine ganze Zahl
import math
import tkinter as tk
circ = tk.Tk()
circ.title("Circle")
circ.geometry("150x75")
radiusLabel = tk.Label(circ, text = "What is the radius?")
radiusEntry = tk.Entry(circ)
def close_window():
circ.destroy()
radius = int(radiusEntry)
submit = tk.Button(circ, text = "Submit", command = close_window)
radiusLabel.pack()
radiusEntry.pack()
submit.pack()
circ.mainloop()
class Shape():
def __init__(self, radius):
self.circumference = float(2) * float(radius) * float(math.pi)
self.area = float(math.pi) * float(radius*radius)
def getArea(self):
return self.area
def getPerimeter(self):
return self.circumference
def __str__(self):
return "Area: %s, Circumference: %s" % (self.area, self.circumference)
circle = Shape(radius)
print(circle)
Sie könnten versuchen, 'Radius = int (radiusEntry.get())', aber es ist nicht sofort zur Arbeit gehen. Dies liegt daran, dass diese Zeile eine Millionstel Sekunden nach dem ersten Erstellen des Fensters ausführt, so dass der Benutzer wahrscheinlich noch nichts in das Textfeld eingegeben hat. – Kevin
Was ist der Fehler? –