我在我的应用程序中有一堆屏幕,我希望后退按钮能够通用地返回到前一个屏幕。我一直在尝试实现一个堆栈并弹出前一个屏幕,但由于某种原因,我找到的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