Попробуй этот код:
import tkinter as tk
win = tk.Tk()
win.title('Расчет периметра')
win.geometry("500x400+1410+0")
win.config(bg='white')
root1 = tk.Entry(win, width="25")
root1.pack()
root2 = tk.Entry(win, width="25")
root2.pack()
root3 = tk.Entry(win, width="25")
root3.pack()
def P():
'''Расчет периметра'''
try:
длина = float(root1.get())
ширина = float(root2.get())
периметр = 2 * (длина + ширина)
root3.delete(0, tk.END) # Очистить поле ввода перед вставкой нового значения
root3.insert(0, str(периметр))
except ValueError:
root3.delete(0, tk.END)
root3.insert(0, "Ошибка ввода")
createtext1 = tk.Label(win, text=('Длина'), width="20")
createtext1.place(x=0, y=0)
createtext2 = tk.Label(win, text=('Ширина'), width="20")
createtext2.place(x=0, y=30)
createtext3 = tk.Label(win, text=('Периметр (P)'), width="20")
createtext3.place(x=0, y=60)
btn1 = tk.Button(win, text=('Рассчитать периметр'), width="35", height="2", command=P)
btn1.place(x=0, y=90)
win.mainloop()
Я проверил у себя, все работает.
from tkinter import Entry
from tkinter import Button
win= tk.Tk ()
win.title('Счет периметра и площади')
win.geometry("500x1000+1410+0")
win.config(bg='white')
root1 = tk.Entry(win, width = "25")
root1.pack()
root2 = tk.Entry(win, width = "25")
root2.pack()
root3 = tk.Entry(win, width = "25")
root3.pack()
def P():
'''Сложение'''
root3.insert(0, str(root1) + str(root2) * 2)
createtext1 = tk.Label(win, text = ('Длина'), width = "20")
createtext1.place(x = 0, y = 0)
createtext2 = tk.Label(win, text = ('Ширина'), width = "20" )
createtext2.place(x = 0, y = 20)
createtext3 = tk.Label(win, text = ('Сумма числе будет равна '), width = "20" )
createtext3.place(x = 0, y = 40)
btn1 = tk.Button(win, text = ('Периметр (P)'), width = "35", height = "13", command = P() )
btn1.place(x = 0, y = 300)
btn2 = tk.Button(win, text = ('Площадь (S)'), width = "35", height = "13")
btn2.place(x = 250, y = 300)
win.mainloop()
Вот код. Это код который рассчитывает периметр и площадь(площадь пока что не рассчитывает). Проблема в том что в root3 при запуске кода выдает ".!entry.!entry2", но должен при нажатии кнопки btn1 в root3 вписывать сумму root1 и root2 * 2.
Почему так происходит и как решить?