这是我一直在处理的代码的一部分,在for
循环中,它通过product_buttons
迭代,以定义选择了哪个按钮,在选择了按钮后,我想显示选择了哪个按键,我成功地做到了如下:
product_buttons=[36,38,40]#树莓皮针
in_progress = False
ended = True
product = None
def show_msg(wid,msg):
wid.config(text = msg)
pass
def button_loop():
global in_progress,ended
waiting = False
product = None
while True:
for i in range(len(product_buttons)):
button = IO.input(product_buttons[i])
if button:
print(i,in_progress,ended,product)
if not in_progress:
product = i
while not ended:
time.sleep(0.1)
in_progress = True
show_msg(root.lab_quality,'Button {}
按下'.format(i((
该代码工作正常,每当按下按钮时,它都会随着按下按钮0、按下按钮1或按下按钮2而更改Button {} pressed
。现在,我试图做的是为for
循环中的每个迭代分配一个变量名,以实现以下内容:
i = 0
使i=成为一个变量,例如,让我们称之为i = 1
使i=变为bi = 2
使i=到c
因此(仍然是例如(当按钮0被按下时,它显示按钮a被按下。我试着存储像quality={1:a, 2:b, 3:c}
这样的值,然后用show_msg(root.lab_quality,'Button {} pressed'.format(quality))
来调用它,这是我脑海中的想法,但没有实现,我有点卡住了,我需要被指向正确的方向,这样我才能最终实现。
任何帮助都将不胜感激!
您需要将quality
定义为一个字典,如下所示:quality={'1':'a', '2':'b', '3':'c'}
。然后,您可以调用show_msg
函数:
show_msg(root.lab_quality,'Button {} pressed'.format(quality[str(i)]))
通过这种方式,您可以使用i
变量的值作为从质量字典中读取其名称的关键字。
谢谢大家,我已经解决了,我做到了:
btn = ['a','b','c']
show_msg(root.lab_quality,'QUALITY {}'.format(btn[j]))
它就像一个符咒,很容易,我不知道为什么我以前没有看到它。