如果希望某个元素通知另一个元素,则必须使用属性
NumericProperty
,并在它们之间创建绑定。
...
class Row(BoxLayout):
button_text = StringProperty("")
row_count = NumericProperty(0)
def count_row(self):
print('count row', self.row_count)
class Rows(BoxLayout):
orientation = "vertical"
row_count = NumericProperty(0)
def __init__(self, **kwargs):
super(Rows, self).__init__(**kwargs)
self.add_row()
def add_row(self):
self.row_count += 1
row = Row(button_text=str(self.row_count))
self.add_widget(row)
row.row_count = self.row_count
self.bind(row_count= row.setter("row_count"))
...