2017-06-11 13 views
0

Ich muss eine Button machen, dass, wenn die Eingabetaste gedrückt wird, erlaubt mir, zu Screen in der .kv Sprache zurückzukehren. Hier ist, was habe ich in Python:Keybound Button mit Bildschirmwechsel in Kivy Sprache

def build(self): 
    button = Button() 
    start(Enter, button) 
    bind(on_press = partial(sm.setter('current'), (sm, 'MenuScreen'))) 

Wie kann ich eine Button machen, die mich zu einer Seite zurückkehren können, wenn die Taste ‚Enter‘ in .kv/der Kivy lanaguage gedrückt wird?

Antwort

0

Das ist durchaus eine seltsame Syntax, die Sie dort haben, und Sie sprechen von „Enter-Taste“, obwohl der Code offensichtlich tut etwas ganz anderes, so dass ich glaube, Sie wollen nur dieses kleine Stück:

<Enter>: 
    on_press: sm.current = 'MenuScreen' 

Diese Linien erfordern eine zusätzliche Klasse Enter existieren dh Sie würden dies nicht tun (und ich bin von dieser Linie verwirrt):

start(Enter, button) 

aber Sie würden diese zum Beispiel tun:

Py

class Enter(Button): 
    pass 

class My(App): 
    def build(self): 
     pass 

.kv

ScreenManager: 
    id: sm 
    Screen: 
     name: 'OtherScreen' 
     Enter: 

    Screen: 
     name: 'MainScreen' 

<Enter>: 
    on_press: sm.current = 'MainScreen'