我无法在python3.6中获取条目数据

2024-04-18 08:54:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我为python学习做了一个小型的医学计算器程序。你知道吗

在这个程序中,当我按下“Calc”按钮时,它应该显示在我的命令行中。但它不起作用。你知道吗

此外,我怀疑定义的函数是在没有单击按钮的情况下操作的。你知道吗

我犯了什么错?你知道吗

#importing modules
from tkinter import * 

#setting up window
top = Tk()
F = Frame(top)
F.master.title("FeNa Calculator")
F.pack()

#Calc. button event handler
def fena_click():
    ur_na = tUNa.get()
    ur_cr = tUCr.get()
    se_na = tSNa.get()
    se_cr = tSCr.get()

    print('Urine Na : ' + ur_na, end=' ')
    print('Urine Cr : ' + ur_cr, end=' ')
    print('Serum Na : ' + se_na, end=' ')
    print('Serum Cr : ' + se_cr, end=' ')

#add widgets
unit1 = Label(F, text="mEq/L")
unit2 = Label(F, text="mEq/L")
unit3 = Label(F, text="mEq/L")
unit4 = Label(F, text="mEq/L")
UNa = Label(F, text="Urine Na")
tUNa = Entry(F)
UCr = Label(F, text="Urine Cr")
tUCr = Entry(F)
SNa = Label(F, text="Serum Na")
tSNa = Entry(F)
SCr = Label(F, text="Serum Cr")
tSCr = Entry(F)
blank1 = Label(F, text="")
v_Result = StringVar()
Result = Label(F, textvariable = v_Result)
v_Result.set("FENa(%) = ")
blank2 = Label(F, text="")
bCalc = Button(F, text="Calc.", command = fena_click())
bQuit = Button(F, text="Quit", command = F.quit)


UNa.grid(row = 0, column = 0, pady = 2)
tUNa.grid(row =0, column = 1, pady = 2)
unit1.grid(row = 0, column = 2, pady = 2)
UCr.grid(row = 1, column = 0, pady = 2)
tUCr.grid(row =1, column = 1, pady = 2)
unit2.grid(row = 1, column = 2, pady = 2)
SNa.grid(row = 2, column = 0, pady = 2)
tSNa.grid(row =2, column = 1, pady = 2)
unit3.grid(row = 2, column = 2, pady = 2)
SCr.grid(row = 3, column = 0, pady = 2)
tSCr.grid(row =3, column = 1, pady = 2)
unit4.grid(row = 3, column = 2, pady = 2)
blank1.grid(row=4, column = 0, columnspan = 3)
Result.grid(row = 5, column = 0, columnspan = 3)
blank2.grid(row=6, column = 0, columnspan = 3)
bCalc.grid(row = 7, column = 0, columnspan = 2)
bQuit.grid(row = 7, column = 1, columnspan = 2)

#loop running
F.mainloop()

Program view


Tags: textgetcolumnresultlabelgridrowcr
1条回答
网友
1楼 · 发布于 2024-04-18 08:54:42

在制作按钮的那一行中,实际上是在调用fena_click函数。您需要传递函数本身,您可以通过省略以下参数来实现:

bCalc = Button(F, text="Calc.", command = fena_click) # no () after fena_click

相关问题 更多 >