2016-09-14 1 views
0

このボタンを機能させようとしていますが、何が間違っているのかわかりません。 私はkivyに新しいので、私は実際にいくつかの助けを使うことができました。コードを実行するとボタンがポップアップしますが、クリックすると何も起こりません。なぜそれは動作しませんか?Kivyでボタンを動作させることができません

私は、次のページに行くと何も起こらないことを知っていますが、今はただそこに行きたいと思います。

ここには完全なコードとkvファイルがあります。

import kivy 
kivy.require('1.9.1') 

from kivy.app import App 
from kivy.uix.widget import Widget 
from kivy.uix.gridlayout import GridLayout 
from kivy.uix.textinput import TextInput 
from kivy.uix.label import Label 
from kivy.uix.button import Button 

class StartScreen(Widget): 
    def __init__(self, **kwargs): 
     super(StartScreen,self).__init__(**kwargs) 
     self.StartGame = Button(text="Start Game") 
     self.StartGame.bind(on_press=self.on_press) 
     self.add_widget(self.StartGame) 

def on_press(self,instance): 

    return LoginScreen() 

class LoginScreen(GridLayout): 
    def __init__(self, **kwargs): 
     super(LoginScreen,self).__init__(**kwargs) 
     self.cols = 2 



class MyApp(App): 
def build(self): 
    return StartScreen() 



if __name__ == '__main__': 
    MyApp().run() 

KVファイルon_press方法からウィジェットを返す

#:kivy 1.9.1 



<StartScreen>: 
    Label: 
    font_size: 120 
    center_x: root.width/2 
    top: root.top - 100 
    text: "Starfire" 



<LoginScreen> 
    f_username: username 
    f_password: password 
    GridLayout: 
    rows: 2 
    padding: 5 
    spacing: 5 
    Label: 
     text: "User Name:" 
    TextInput: 
     id: username 
    Label: 
     text: 'Password' 
    TextInput: 
     id: password 
     password: True 

答えて

0

これは実施例である:

from kivy.app import App 
from kivy.uix.screenmanager import ScreenManager, Screen, SlideTransition 


screen_manager = ScreenManager(transition=SlideTransition()) 


class RootScreen(Screen): 

    settings_button = Button(text='Settings') 
    settings_button.bind(on_press=screen_manager.switch_to(SettingsScreen()) 


class SettingsScreen(Screen): 
    pass 


class WifiApp(App): 

    def build(self): 
     screen_manager.add_widget(RootScreen(name='main')) 
     screen_manager.add_widget(SettingsScreen(name='settings')) 
     return screen_manager 


if __name__ == '__main__': 
    WifiApp().run() 
関連する問題