Python如何从命令按钮传递var / value并在if中使用它
Posted
技术标签:
【中文标题】Python如何从命令按钮传递var / value并在if中使用它【英文标题】:Python how to pass the var/value from the command button and use it in an if 【发布时间】:2021-08-20 17:51:48 【问题描述】:如何将命令按钮中的 var/value 传递到 def 并在 def ChangConfWI 内的 if 中实现它以获得所需的值?
有 3 个按钮,我需要根据您单击的按钮在 def ChangConfWI 中获取特定的 var,因为我使用 if 语句
global ocppurl, tiporeq, headers, payload, timeoutvar
ocppurl = "http://oxxxxxxx.com/xxxxxxx-ws/rest/xxxxx/"
headers = "'Content-Type': 'application/json', 'stat': '00012'"
timeoutvar = 30
def ChangConfWI(var):
if var == wi:
tiporeq = "onething"
payload = json.dumps(0)
elif var == wik:
tiporeq = "something"
payload = json.dumps(1)
elif var == vliv:
tiporeq = "congo"
payload = json.dumps(2)
pedido = str(ocppurl + tiporeq) + "\n\n" + str(headers) + "\n\n" + str(payload) + "\n\n" + "Timeout:" + str(timeoutvar)
reqinp.delete('1.0', END)
reqinp.insert(tk.INSERT, pedido)
ttk.Button(frmbut2, , text="without inputs", command=ChangConfWI(wi)).grid(column=0,row=0, padx=10, pady=10)
ttk.Button(frmbut2, , text="with invalid key", command=ChangConfWI(wik)).grid(column=0, row=1, padx=10, pady=10)
ttk.Button(frmbut2, , text="with valid key & invalid value", command=ChangConfWI(vliv)).grid(column=0, row=2,
padx=10, pady=10)
【问题讨论】:
你的代码试图完成什么?我不知道你的最终目标。 在command
参数中使用lambda
。
正如 Barmar 所说:将 command=ChangConfWI(wi)
更改为 command=lambda: ChangConfWI(wi)
谢谢大家,在这个项目中做了几次,完全空白
【参考方案1】:
ttk.Button(frmbut2, , text="without inputs", command=lambda: ChangConfWI(1)).grid(column=0, row=0, padx=10, pady=10)
【讨论】:
以上是关于Python如何从命令按钮传递var / value并在if中使用它的主要内容,如果未能解决你的问题,请参考以下文章