TypeError: int() argument must be a string, a bytes-like object or a real number, not 'Entry'
Я новичок в языке Python и пытаюсь освоить язык. Написал программу с помощью библиотеки tkinter, которая подсчитывает площадь прямоугольника. Но при нажатии кнопки "Площадь" у меня вылезает ошибка. Я уже 2 день не могу разобраться. Вот код:
from tkinter import *
from tkinter import ttk
from tkinter.messagebox import showerror, showwarning, showinfo
root=Tk()
#функция для подсчёта площади
def ploshad ():
a=int(entry)*int(entry1)
showinfo(title="Площадь", message=a)
#настройка окна
root.title("Калькулятор площади")
root.geometry("300x345")
root.resizable(False, False)
root["bg"]="#2ea8d2"
#площадь прямоугольника
frame=ttk.Frame(borderwidth=3, relief=SOLID, padding=[8, 10])
lb=Label(frame, text="Площадь", font=("Arial", 14))
lb.pack()
label=Label(frame, text="Введите длину (в см)")
label.pack()
entry=Entry(frame)
entry.pack()
label2=Label(frame, text="Введите ширину (в см)")
label2.pack()
entry1=Entry(frame)
entry1.pack()
btn=Button(frame, text="Площадь", command=ploshad)
btn.pack()
frame.pack(anchor=NW, fill=X, padx=5, pady=5)
root.mainloop()
Ответы (1 шт):
Автор решения: Kevlart
→ Ссылка
Все записано верно, кроме самого значения из Entry
, при выводе результата всегда добавляем .get()
, говорящий нам о том, что мы используем то, что вывелось или ввелось пользователем.
То есть, a=int(entry.get())*int(entry1.get())