我目前正在设计Kivy应用程序,在这里我想使我的许多组件可重复使用。我有一些遵循以下样式的代码。
<ListButtonGroup@BoxLayout>:
orientation: 'vertical'
spacing: 10
up: up
down: down
list: list
BoxLayout:
orientation: 'horizontal'
size_hint: 1.0, None
Button:
id: up
text: 'up'
size_hint: 1.0, None
height: 50
Button:
id: down
text: 'down'
size_hint: 1.0, None
height: 50
ScrollList:
id: list
size_hint: 1.0, 0.8
我希望在多个地方使用该类,但我不知道如何制作该类,以便可以将on_press处理程序分配给这些按钮,以便在多个不同区域使用该类,以实现不同的目的和功能。 / p>
答案 0 :(得分:2)
您可以为此使用一些属性:
<ListButtonGroup@BoxLayout>:
orientation: 'vertical'
spacing: 10
up: up
down: down
list: list
callback1: lambda: None
callback2: lambda: None
BoxLayout:
orientation: 'horizontal'
size_hint: 1.0, None
Button:
id: up
text: 'up'
size_hint: 1.0, None
height: 50
on_press: root.callback1()
Button:
id: down
text: 'down'
size_hint: 1.0, None
height: 50
on_press: root.callback2()
ScrollList:
id: list
size_hint: 1.0, 0.8
之后,您只需使用:
ListButtonGroup
callback1: lambda x: print("1")
callback2: lambda x: print("2")