Kivy:被按下的子按钮的索引

  • 本文关键字:索引 按钮 Kivy python kivy
  • 更新时间 :
  • 英文 :


在这个非常简单的代码中,我如何找到哪个按钮被按下?我想要的是被按下按钮的索引,而不是按钮的名称或文本。

Python:

from kivymd.app import MDApp
from kivy.uix.gridlayout import GridLayout
class AddItems(GridLayout):
def __init__(self, **kwargs):
super(AddItems, self).__init__(**kwargs)
for i in range (5):
b = Button(text = str(i+1), size_hint= (1, None))
self.add_widget(b)
class MainApp(MDApp):
pass

MainApp().run()

KV:

Scroll:
<Scroll@ScrollView>:
AddItems:
size_hint: 1, None
height: self.minimum_height
<AddItems>:
cols: 1
spacing: 10

可以将index添加为Button的一个属性:

class AddItems(GridLayout):
def __init__(self, **kwargs):
super(AddItems, self).__init__(**kwargs)
for i in range(5):
b = Button(text=str(i+1), size_hint=(1, None), on_release=self.released)
b.index = i
self.add_widget(b)
def released(self, button):
print('released:', button.text, button.index)

最新更新