微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将在文本输入框中键入的int值发送给数学表达式?

如何解决如何将在文本输入框中键入的int值发送给数学表达式?

我的名字叫维托。我是编程的新手,这是我学习自学习python的第二天或第三天。我正在尝试建立一个代谢率计算器,这是我可以做的第一件事,我对python一无所知。然后,我做到了,但是只保留在文本编辑器中(即使用vs代码),如果我更改了代码中的值并运行,则在终端中获得了正确的值。但是im tryint通过GUI来操作它,我不知道如何在文本框中键入数字值,并且此值在我编写的配方中已更改。从现在起,我将展示所有我的代码,对那些古怪的单词和冗长的代码表示抱歉,我真的是编程界的新人,我来自B。无论如何,感谢您的阅读。

   import tkinter as tk
from tkinter import *

#FUNCAO DO BOTAO
def click1():
    typed_text1=textentry1.get()
def click2():
    typed_text2=textentry2.get()
def click3():
    typed_text3=textentry3.get()
####MAIN
#TOP LEVEL CONTAINER
window = Tk() 
window.title("Calculadora TMB")

#CONTAINER DE FUNDO
canvas = tk.Canvas(window,height=400,width=400,bg="green") .grid()

#CONTAINER QUADRO
frame1 = tk.Frame(canvas,height=200,width=200,bg="blue") .grid(row=0,column=1)

#IMAGEM

#LABEL
Label (frame1,text="CALculaDORA TMB",fg="red") .grid(row=0,column=0)

#CAIXA DE ENTradA DE TEXTO
textentry1=Entry(frame1) .grid(row=1,column=1)

textentry2=Entry(frame1) .grid(row=2,column=1)

textentry3=Entry(frame1) .grid(row=3,column=1)

#SEND INPUT BUTTON
okbutton=tk.Button(frame1,text='Send',command=lambda:[click1(),click2(),click3()]) .grid(row=4,column=0)

#CANCEL BUTTON
cancelbutton=tk.Button(frame1,text='Cancel') .grid(row=5,column=0)

#OUTPUT TEXT 
output= Text(frame1) .grid(row=6,column=0,padx=0.8,pady=0.8,columnspan=2)

#VARIABLES
Massa_corporal=66
Estatura=167
Idade=66

#RECIPES
Formula_HB_Homem=66.473+(13.752*Massa_corporal)+(5.003*Estatura)-(6.755*Idade)
Formula_HB_Mulher=655.1+(9.563*Massa_corporal)+(1.850*Estatura)-(4.676*Idade)
Formula_Williams1_H=(60.9*Massa_corporal)-54
Formula_Williams2_H=(22.7*Massa_corporal)+495
Formula_Williams3_H=(17.5*Massa_corporal)+651
Formula_Williams4_H=(15.3*Massa_corporal)+679
Formula_Williams5_H=(11.6*Massa_corporal)+879
Formula_Williams6_H=(13.5*Massa_corporal)+487
Formula_Williams1_M=(61*Massa_corporal)-51
Formula_Williams2_M=(22.5*Massa_corporal)+499
Formula_Williams3_M=(12.2*Massa_corporal)+746
Formula_Williams4_M=(14.7*Massa_corporal)+496
Formula_Williams5_M=(8.7*Massa_corporal)+829
Formula_Williams6_M=(10.5*Massa_corporal)+596
Formula_KTG=(((((1.255*Estatura)+(0.928*Massa_corporal)-64.8)*60)/1000)*24)*5

if Idade>=60:
    print ((Formula_HB_Homem+Formula_Williams6_H+Formula_KTG)/3)
elif Idade>=30:
    print((Formula_HB_Homem+Formula_Williams5_H+Formula_KTG)/3)
elif Idade>=18:
    print((Formula_HB_Homem+Formula_Williams4_H+Formula_KTG)/3)
elif Idade>=10:
    print((Formula_HB_Homem+Formula_Williams3_H+Formula_KTG)/3)
elif Idade>=3:
    print((Formula_HB_Homem+Formula_Williams2_H+Formula_KTG)/3)
elif Idade>=0:
    print((Formula_HB_Homem+Formula_Williams2_H+Formula_KTG)/3)

window.mainloop()```

解决方法

要从小部件接收值,您需要使用get()函数。 get()函数将返回文本框中的内容。有关更多文档说明,请参见此page

您还应该在here

上看到示例

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。