我在我的應用程序中有一堆屏幕,我希望後退按鈕能夠通用地返回到前一個屏幕。我一直在嘗試實現一個堆棧並彈出前一個屏幕,但由於某種原因,我找到的Window綁定方法解決方案無法完全工作。後退按鈕功能Kivy與屏幕高速緩存
class RegisterScreen(Screen):
screenlist = ListProperty([])
def __init__(self, **kwargs):
super(RegisterScreen, self).__init__(**kwargs)
# Setting it up to listen for keyboard events
Window.bind(on_keyboard=self.onBackBtn)
def onBackBtn(self, window, key, *args):
""" To be called whenever user presses Back/Esc Key """
# If user presses Back/Esc Key
if key == 27:
print(self.screenlist)
self.manager.current = self.screenlist[len(screenlist)]
return True
該代碼的問題是__init__覆蓋方法。我認爲將on_keyboard函數綁定到Window正在使全部後退按鈕使用onBackBtn方法。我該如何解決這個問題?
TLDR:如何讓後退按鈕返回到前一個屏幕堆棧?
我主要是利用KV的語言,但後退按鈕實現更容易在Python我認爲做...
說明:我意識到所有後退按鈕使用onBackBtn方法,但我不知道如何使它回到以前的屏幕 – Nithishbn