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.
添加回答
舉報