Я хочу запрограммировать простой «калькулятор». Некоторые поля ввода, затем некоторые вычисления с этими входами в фоновом режиме, а затем я хочу увидеть вывод.
В простой форме это выглядит так:
![enter image description here](https://i.stack.imgur.com/8csiX.png)
ae: поля ввода.
fh: поля вывода.
Расчеты в фоновом режиме и показ вывода идет хорошо.
Теперь я хочу иметь строку между e и f, которая говорит: Output
Без какого-либо поля ввода или sth .. только текстовое поле. Может кто-нибудь помочь мне, как вставить текстовое поле в определенном c месте? Это код:
fields = ('a', 'b', 'c', 'd', 'e',
'f (in EUR)', 'g (days per year)', 'h in %')
def initUI(self):
self.master.title("Calculator")
self.pack(fill=BOTH, expand=1)
Style().configure("TFrame", background="#111")
bardejov = ImageTk.PhotoImage(bard)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x=20, y=20)
def total_assets(entries):
# period rate:
a = (float(entries['a'].get()))
b = (float(entries['b'].get()))
c = (float(entries['c'].get()))
d = (float(entries['d'].get()))
e = (float(entries['e'].get()))
entries['f'].insert(0, calc1 )
entries['g'].insert(0, np.round( calc2 ) )
entries['h'].insert(0, calc3 )
#calc1,cal2,calc3 are some calculations with the input fields
def makeform(root, fields):
entries = {}
for field in fields:
print(field)
row = tk.Frame(root)
lab = tk.Label(row, width=50, text=field+": ", anchor='w')
ent = tk.Entry(row)
ent.insert(0, "0")
row.pack(side=tk.TOP,
fill=tk.X,
padx=5,
pady=5)
lab.pack(side=tk.LEFT)
ent.pack(side=tk.RIGHT,
expand=tk.YES,
fill=tk.X)
entries[field] = ent
ent.config(background="gray")
return entries
if __name__ == '__main__':
root = tk.Tk()
root.title("hello")
root.columnconfigure(1, weight=1)
#root.geometry("1000x300") #Width x Height
#root.grid_columnconfigure("50")
ents = makeform(root, fields)
b1 = tk.Button(root, text='do',
command=(lambda e=ents: total_assets(e)))
#ents.place(x=10, y=115, height=30, width=200)
b1.pack(side=tk.LEFT, padx=5, pady=5)
b2 = tk.Button(root, text = "reset",
command=(lambda e=ents: restart_program(e)))
b2.pack(side=tk.LEFT, padx=5, pady=5)
root.mainloop()