无法获得按钮在Kivy工作

时间:2016-09-14 21:55:27

标签: python-3.x button 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档案

#: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

2 个答案:

答案 0 :(得分:0)

从on_press方法返回一个小部件不会使它成为根对象。

public void setMyVisibility(Boolean value);
{
   if(value)
   {
     fabButton.setVisibility(View.VISIBLE);}
  else
  {
     fabButton.setVisibility(View.GONE);
  }
}

你需要看一下popup和screenmanager:

https://kivy.org/docs/api-kivy.uix.screenmanager.html

https://kivy.org/docs/api-kivy.uix.popup.html?highlight=popup#module-kivy.uix.popup

选择你的套房。

答案 1 :(得分:0)

这是一个有效的例子:

-t CHAR
     use CHAR as input and output field separator. 
     Unless -t CHAR is given, leading blanks separate fields and are ignored,