为了账号安全,请及时绑定邮箱和手机立即绑定

Python Kivy:如何检查按钮是否被点击?

Python Kivy:如何检查按钮是否被点击?

繁星点点滴滴 2023-02-07 16:30:33
我必须创建多个按钮(对于给定列表中的每个元素)。为此,我正在使用 for 循环。必须记录按下的按钮。但是,self.i 的值并未存储在该特定实例中,即最后一个值(在本例中 - 2 已存储,在循环完成后)。我该如何解决这个错误?有没有办法添加条件语句来检查按钮是否被单击,如果是,则将 self.i 的值存储在另一个变量中。class InfoPage(GridLayout):    def __init__(self, **kwargs):        super(InfoPage, self).__init__(**kwargs)        self.cols = 1        self.peers = ["ishika", "nate", "nf"]        for self.i in range(3):            self.peers[self.i] = Button(text=peers[self.i], id=str(self.i))            self.add_widget(self.peers[self.i])            self.peers[self.i].bind(on_press=self.add)    def add(self, _):        id_of_button_pressed = self.peers[self.i].id        print(id_of_button_pressed)
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

您的add()方法正在使用self.i,这将是在方法 ( )self.i中设置的最后一个值。所以你只需要将你的方法修改为:__init__()2add()


def add(self, button):

    id_of_button_pressed = button.id

    print(id_of_button_pressed)


查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号