2017-04-03 3 views
0

내 앱에는 여러 개의 스크린이 있으며 이전 버튼으로 돌아가려면 뒤로 버튼을 보편적으로 사용하고 싶습니다. 나는 스택을 구현하고 이전 화면을 터뜨리려고했지만 어떤 이유로 윈도우 바인딩 메서드 솔루션이 완전히 작동하지 않습니다.뒤로 버튼 기능 화면 캐시가있는 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__ override 메소드입니다. 나는 창문에 on_keyboard 함수를 바인딩한다고 생각한다. 모두 back button presses는 onBackBtn 메서드를 사용한다. 이 문제를 어떻게 해결할 수 있습니까?

TLDR : 이전 화면 스택으로 돌아 가기 단추를 허용하려면 어떻게합니까?

나는이 문제가 발생하고 당연히 모든 백 프레스가를 호출합니다초기화를 overiding 생각

+0

명확함 : 모든 back button presses는 onBackBtn 메서드를 사용하지만 실제로 만드는 방법을 모르겠습니다. 이전 화면으로 돌아 가기 – Nithishbn

답변

0

... 그나마 나는 주로 KV 언어를 사용하고 있지만, 뒤로 버튼 구현은 내가 생각 파이썬에서 할 쉽습니다 onBackBtn 함수는 실제로 뒤로 버튼을 의미하는 27이라는 키를 참조하기 때문에 ... https://pastebin.com/3CTv6GQV

+0

하지만 화면 위젯 내부 또는 앱 내에 onBackBtn 기능이 있어야합니까? 위젯? – Nithishbn

+0

코드가 제대로 작동하지 않는 것 같습니까? – Nithishbn