1 回答
TA贡献1809条经验 获得超8个赞
of被调用两次__init__()。当您的方法被调用并执行时GPIOButton一次。这将创建通过规则出现在 GUI 中的。该方法在您的类中执行时会再次调用。第二次调用创建的实例不会出现在 GUI 中,但它是该方法中引用的实例。build()self.root = LifterGUI()GPIOButtonkv__init__()ok_btn = GPIOButton(btn_gpio_pin = ok_btn_pin)LeftSidebarGPIOButtonupdate()
GPIOButton由于您已经在 中设置了对 的引用kv,因此您可以修改该类LeftSidebar以使用该引用:
class LeftSidebar(FloatLayout):
ok_btn_button = ObjectProperty(None)
def __init__(self, **kwargs):
super(LeftSidebar, self).__init__(**kwargs)
print("LeftSidebar __init__ called")
def update(self, dt):
#print("LeftSidebar update() called")
self.ok_btn_button.update(dt)
ok_btn_button在 your和kvtheok_btn_button中设置对 中内置的 的LeftSidebar引用。这样您就可以参考类中使用的按钮。GPIOButtonkvself.ok_btn_buttonLeftSidebar
请注意,您的LifterGUI.
添加回答
举报