Python Tkinter gui中的指数函数

Python Tkinter gui中的指数函数,python,user-interface,tkinter,exponential,Python,User Interface,Tkinter,Exponential,我在Tkinter gui中定义指数函数时遇到问题。我的Gui由三个组合框组成,我可以在其中选择不同的数字。当我选择所有数字时,它会显示基于指数函数的结果。我的意思是: 选择数字a#组合框1 选择数字b#组合框2 选择数字C#组合框3 Result = exp[(-NumberA/NumberB)* NumberC] 到目前为止,我得到的结果如下,但它不起作用: #Main Selection def exponential(*args): try: produc

我在Tkinter gui中定义指数函数时遇到问题。我的Gui由三个组合框组成,我可以在其中选择不同的数字。当我选择所有数字时,它会显示基于指数函数的结果。我的意思是:

  • 选择数字a#组合框1
  • 选择数字b#组合框2
  • 选择数字C#组合框3

    Result = exp[(-NumberA/NumberB)* NumberC]
    
到目前为止,我得到的结果如下,但它不起作用:

#Main Selection
def exponential(*args):
    try:
        product.set('%g' %math.exp((float(Num_A.get())/float(Num_B.get())*float(Num_C.get()),2)))
    except ValueError:
        pass

## variables
NumA = StringVar() 
NumB = StringVar() 
NumC = StringVar()

product= DoubleVar()

#Combo boxes, 
#NumA NumB and NumC are similar
ttk.Label(stepTen, text="Select A):").grid(column =3, row = 0)
NumA_Select = Combobox(stepTen, values=("0.1", "0.2", "0.3","0.4",),textvariable=Num_OneT)
NumA_Select.grid(column=4, row=0, columnspan="5", sticky="nswe")
NumA.trace("w",exponential)

## display results
ttk.Label(stepTen, text = "Exponential Dist result:").grid(column = 3, row = 12)
ttk.Label(stepTen, textvariable=product).grid(column = 4, row = 12)

#End Code
root.mainloop()

提前非常感谢

根据您的示例代码,您没有将
NumA
NumB
NumC
设置为一个值,并且这些变量与任何小部件都没有关联。另外,您还可以创建名为
NumA
NumB
NumC
的变量,但在函数中使用的是
Num\u A
Num\u B
Num\u C

“不起作用”是什么意思?程序崩溃了吗?它计算错数字了吗?你的电脑冻结了吗?另外,您需要检查代码的格式。亲爱的Brian,感谢您的及时回复。。。当我复制的时候,我犯了一个错误,我把Num_a放在这里,我指的是NumA以及NumB和NumC,Num_OneT实际上是NumA。我为我的错误道歉。感谢you@Hector:问题仍然是您没有设置
NumB
NumbC
。我建议在
except
块中打印错误,而不是忽略它们。这样,您将看到无法计算该值的原因。