@gogP

Ошибка 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()
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Очевидно, невозможно привести к числу поле экземпляр класса Entry. Вероятно, вы хотели привести к числу значение, введённое в поле.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы