python 另一个标签和条目小部件通过计算创建

代码如下所示创建一个标签和三个条目小部件,我想使用相同的计算创建另一个标签和三个条目小部件。我正在尝试添加标签和条目小部件,但不起作用并出现语法错误。


try :

    import tkinter as tk # Python 3

except :

    import Tkinter as tk # Python 2


def update_sum() :

# Sets the sum of values of e1 and e2 as val of e3

    try :

        sum_tk.set((float(e1_tk.get().replace(' ', '')) + float(e2_tk.get().replace(' ', ''))))

    except :

        pass


root.after(10, update_sum) # reschedule the event

return


root = tk.Tk()

root.geometry('850x450')


e1_tk = tk.StringVar(root) # Initializes a text variable of tk to use to get e1's val.

e2_tk = tk.StringVar(root) # Initializes a text variable of tk to use to get e2's val.

sum_tk = tk.StringVar(root) # Initializes a text variable of tk to use to set e3's val.


# Entries

e1 = tk.Entry(root, textvariable = e1_tk)

e1.grid(row=1,column=1)

e2 = tk.Entry(root, textvariable = e2_tk)

e2.grid(row=1,column=2)

e3 = tk.Entry(root, textvariable = sum_tk)

e3.grid(row=1,column=3)


e4=tk.Label(root,text="SL")

e4.grid(row=1,column=0)



# Will update the sum every second 10 ms = 0.01 second it takes ms as arg.

root.after(10, update_sum)

root.mainloop()

http://img3.mukewang.com/64b63fa900011d4206510246.jpg

我想创建另一个标签,如“SL”和带有计算事件的条目小部件



幕布斯6054654
浏览 91回答 1
1回答

凤凰求蛊

您可以将参数传递给函数并使用不同的变量调用它:import tkinter as tkdef update_sum(first_number_tk, second_number_tk, sum_tk) :# Sets the sum of values of e1 and e2 as val of e3    try:        sum_tk.set((float(first_number_tk.get().replace(' ', '')) + float(second_number_tk.get().replace(' ', ''))))    except :        pass    root.after(10, update_sum, first_number_tk, second_number_tk, sum_tk) # reschedule the event    returnroot = tk.Tk()root.geometry('850x450')e1_tk = tk.StringVar(root) # Initializes a text variable of tk to use to get e1's val.e2_tk = tk.StringVar(root) # Initializes a text variable of tk to use to get e2's val.sum_tk = tk.StringVar(root) # Initializes a text variable of tk to use to set e3's val.# Entriese1 = tk.Entry(root, textvariable = e1_tk)e1.grid(row=1,column=1)e2 = tk.Entry(root, textvariable = e2_tk)e2.grid(row=1,column=2)e3 = tk.Entry(root, textvariable = sum_tk)e3.grid(row=1,column=3)e4=tk.Label(root,text="SL")e4.grid(row=1,column=0)e3_tk = tk.StringVar(root) # Initializes a text variable of tk to use to get e1's val.e4_tk = tk.StringVar(root) # Initializes a text variable of tk to use to get e2's val.sum2_tk = tk.StringVar(root) # Initializes a text variable of tk to use to set e3's val.# Entriese5 = tk.Entry(root, textvariable = e3_tk)e5.grid(row=2,column=1)e6 = tk.Entry(root, textvariable = e4_tk)e6.grid(row=2,column=2)e7 = tk.Entry(root, textvariable = sum2_tk)e7.grid(row=2,column=3)e8=tk.Label(root,text="ML")e8.grid(row=2,column=0)# Will update the sum every second 10 ms = 0.01 second it takes ms as arg.root.after(10, update_sum, e1_tk, e2_tk, sum_tk)root.after(10, update_sum, e3_tk, e4_tk, sum2_tk)root.mainloop()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python