tkinter размещает непрерывную функцию l oop внутри - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь построить простой калькулятор. Я хочу вставить расчет внутри текстового поля 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...