Я пытаюсь построить простой калькулятор. Я хочу вставить расчет внутри текстового поля t1
. Например, если текстовое поле t2
и текстовое поле t3
заполнены, или изменение текстового поля t3
автоматически выполнит вычисление. Как я могу заставить мое t1
текстовое поле иметь время l oop, которое непрерывно вычисляет значение в двух других полях?
Вот мой код, если что-то не так, пожалуйста, дайте я знаю! Спасибо!
import tkinter as tk
import tkinter.font as TkFont
root = tk.Tk()
#helv36 = TkFont.Font(family="courier new",size=10,weight="bold")
#e1 = tk.Text(root, bg='black', fg='white', font=helv36)
#e1.pack()
#row=0, column=0, rowspan=0, columnspan=0
def open_pl():
pl = tk.Toplevel()
pl.title('P/L')
pl.geometry('305x255')
#label
l1 = tk.Label(pl, text='Profit/Loss Calculator', padx=90, pady=4).grid(row=0, column=0,columnspan=2)
l2 = tk.Label(pl, text='Initial Balance: ',justify='left', anchor='w').grid(row=2, column=0, sticky='w')
l3 = tk.Label(pl, text='Balance: ',justify='left', anchor='w').grid(row=3, column=0, sticky='w')
l4 = tk.Label(pl, text='thinkorswim: ********', padx=85, pady=4).grid(row=5, column=0,columnspan=2)
#text box
t1 = tk.Text(pl, height=2, width=20, padx=70, pady=15)
t2 = tk.Text(pl, height=2, width=20, padx=20).grid(row=2, column=1,columnspan=4)
t3 = tk.Text(pl, height=2, width=20, padx=20).grid(row=3, column=1,columnspan=4)
t4 = tk.Text(pl, height=2, width=20, padx=70, pady=15).grid(row=4, column=0,columnspan=2)
t1.grid(row=1, column=0,columnspan=2)
# i tried it here
while t3 != 0:
initial_balance = t2.get('1.0', INSERT)
balance = t3.get('1.0', INSERT)
t1.insert('1.0', (float(balance)-float(initial_balance))/float(initial_balance))
menubar = tk.Menu(root)
m1 = tk.Menu(menubar, tearoff=0)
m1.add_command(label="P/L", command=open_pl)
menubar.add_cascade(label="Tools", menu=m1)
root.config(menu=menubar)
root.mainloop()