И я не погу понять, какие процессы происходят в вашем коде в “объеденяющем пространстве”.
Исправте и допишите мой код: вводимые числа могут быть не целыми (float) и код выполняется без “кнопки” по факту ввода чисел.
from tkinter import *
import tkinter as tk
import tkinter.font as tkFont
# интерфейс
class Okno:
def __init__(self, root):
super().__init__()
# название окна
self.root.title("PROBA")
# парамерры окна
## self.width=600
## self.height=180
## self.screenwidth = root.winfo_screenwidth()
## self.screenheight = root.winfo_screenheight()
## self.alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
## self.root.geometry(alignstr)
## self.root.resizable(width=False, height=False)
self.Okn_1=tk.Label(root)
self.Okn_1["bd"] = "3px"
self.Okn_1["relief"] = "sunken"
ft = tkFont.Font(family='Times',size=18)
self.Okn_1["font"] = ft
self.Okn_1["bg"] = "white"
self.Okn_1["fg"] = "red"
self.Okn_1["justify"] = "center"
self.Okn_1["text"] = "Первое число"
## Okn_1.place(x=10,y=10,width=470,height=30)
self.Okn_1.grid(sticky=NSEW, padx=5, pady=2)
self.Okn_2=tk.Entry(root)
self.Okn_2["borderwidth"] = "3px"
ft = tkFont.Font(family='Times',size=18)
self.Okn_2["font"] = ft
self.Okn_2["fg"] = "#333333"
self.Okn_2["justify"] = "center"
self.Okn_2["text"] = "12345678"
## self.Okn_2.place(x=490,y=10,width=100,height=30)
self.Okn_2.grid(row=0, column=1,sticky=NSEW,padx=5, pady=2)
self.Okn_3=tk.Label(root)
self.Okn_3["borderwidth"] = "3px"
self.Okn_3["relief"] = "sunken"
ft = tkFont.Font(family='Times',size=18)
self.Okn_3["font"] = ft
self.Okn_3["bg"] = "white"
self.Okn_3["fg"] = "red"
self.Okn_3["justify"] = "center"
self.Okn_3["text"] = "Второе число"
## self.Okn_3.place(x=10,y=50,width=470,height=30)
self.Okn_3.grid(row=1, sticky=NSEW, padx=5, pady=2)
self.Okn_4=tk.Entry(root)
self.Okn_4["borderwidth"] = "3px"
ft = tkFont.Font(family='Times',size=18)
self.Okn_4["font"] = ft
self.Okn_4["fg"] = "black"
self.Okn_4["justify"] = "center"
self.Okn_4["text"] = "12345678"
## self.Okn_4.place(x=490,y=50,width=100,height=30)
self.Okn_4.grid(row=1, column=1,sticky=NSEW,padx=5, pady=2)
self.Okn_5=tk.Label(root)
self.Okn_5["borderwidth"] = "3px"
self.Okn_5["relief"] = "sunken"
ft = tkFont.Font(family='Times',size=18)
self.Okn_5["font"] = ft
self.Okn_5["bg"] = "white"
self.Okn_5["fg"] = "green"
self.Okn_5["justify"] = "center"
self.Okn_5["text"] = "Сложить первое и второе число"
## self.Okn_5.place(x=10,y=90,width=470,height=30)
self.Okn_5.grid(row=2,sticky=NSEW, padx=5, pady=2)
self.Okn_6=tk.Label(root)
self.Okn_6["borderwidth"] = "3px"
self.Okn_6["relief"] = "sunken"
ft = tkFont.Font(family='Times',size=18)
self.Okn_6["font"] = ft
self.Okn_6["bg"] = "white"
self.Okn_6["fg"] = "black"
self.Okn_6["justify"] = "center"
self.Okn_6["text"] = "+ результат +"
## self.Okn_6.place(x=490,y=90,width=100,height=30)
self.Okn_6.grid(row=2, column=1,sticky=NSEW,padx=5, pady=2)
self.Okn_7=tk.Label(root)
self.Okn_7["borderwidth"] = "3px"
self.Okn_7["relief"] = "sunken"
ft = tkFont.Font(family='Times',size=18)
self.Okn_7["font"] = ft
self.Okn_7["bg"] = "white"
self.Okn_7["fg"] = "green"
self.Okn_7["justify"] = "center"
self.Okn_7["text"] = "Умножить первое и второе число"
## self.Okn_7.place(x=10,y=130,width=470,height=30)
self.Okn_7.grid(row=3,sticky=NSEW, padx=5, pady=5)
self.Okn_8=tk.Label(root)
self.Okn_8["borderwidth"] = "3px"
self.Okn_8["relief"] = "sunken"
ft = tkFont.Font(family='Times',size=18)
self.Okn_8["font"] = ft
self.Okn_8["bg"] = "white"
self.Okn_8["fg"] = "black"
self.Okn_8["justify"] = "center"
self.Okn_8["text"] = "* результат *"
## self.Okn_8.place(x=490,y=130,width=100,height=30)
self.Okn_8.grid(row=3, column=1,sticky=NSEW,padx=5, pady=5)
# имеет методы(или команды) доступные для других
def show_new_data(self, data): # показать в текстовом поле данные
self.Okn_2.delete(1.0, 'end')
self.Okn_2.insert(1.0, data)
self.Okn_4.delete(1.0, 'end')
self.Okn_4.insert(1.0, data)
def get_data(self): # вернуть данные из строки ввода
return self.Okn_2.get()
return self.Okn_4.get()
# процессор
class Processor:
def sum(self)
return Okn_6=Okn_2+Okn_4
def umn(self)
return Okn_8=Okn_2*Okn_4
# объединяющее пространство
class Program:
def __init__(self):
self.app = Okno()
self.pr = Processor
if __name__ == "__main__":
root = tk.Tk()
app = Okno(root)
root.mainloop()