1 回答

TA貢獻1809條經(jīng)驗 獲得超8個贊
of被調(diào)用兩次__init__()。當您的方法被調(diào)用并執(zhí)行時GPIOButton一次。這將創(chuàng)建通過規(guī)則出現(xiàn)在 GUI 中的。該方法在您的類中執(zhí)行時會再次調(diào)用。第二次調(diào)用創(chuàng)建的實例不會出現(xiàn)在 GUI 中,但它是該方法中引用的實例。build()self.root = LifterGUI()GPIOButtonkv__init__()ok_btn = GPIOButton(btn_gpio_pin = ok_btn_pin)LeftSidebarGPIOButtonupdate()
GPIOButton由于您已經(jīng)在 中設(shè)置了對 的引用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中設(shè)置對 中內(nèi)置的 的LeftSidebar引用。這樣您就可以參考類中使用的按鈕。GPIOButtonkvself.ok_btn_buttonLeftSidebar
請注意,您的LifterGUI.
添加回答
舉報