【发布时间】:2019-11-15 06:15:03
【问题描述】:
我正在尝试确定选择了哪个按钮,然后如果选择了该按钮,请将其分配给我的 python 文件中的一个变量,但我不确定如何访问按钮的 id。
下面的按钮从蓝色 [0,0,1,0] 开始,然后在按下时变为绿色 [0,1,0,1]。我下面的代码成功地确定了哪些按钮是绿色的,然后我有一个打印功能来显示它正在工作。在这里,print(self.ids) 是我要访问每个按钮的每个 id(a 到 f)并将 a-f 存储在一个变量中。
class WhatButton(Screen):
back_color = ObjectProperty()
def button_pressed(self):
buttons = [self.ids.a.back_color, self.ids.b.back_color, self.ids.c.back_color,
self.ids.d.back_color, self.ids.e.back_color, self.ids.f.back_color]
counter = 0
for x in buttons:
if x == [0, 1, 0, 1]:
counter += 1
print(self.ids)
else:
pass
if counter == 0:
self.none_selected()
else:
sm.current = "thank you"
希望以上内容很清楚,如果需要更多解释,请告诉我
【问题讨论】:
-
不确定你想做什么。你想对所有的
Buttons做点什么,还是只用绿色的? “将 a-f 存储在变量中”是什么意思?你说的是清单吗?您想将Buttons存储在列表中吗?还是只是字母 a-f? -
我只想知道按下了哪些按钮(即绿色),并且对于每个绿色按钮,我想创建一个等于“是”的变量。例如,如果 self.ids.a.back_color 被按下,我想创建一个名为 a 的变量并将其设置为“yes”。这有意义吗?
标签: python python-3.x kivy kivy-language