在kivy中点击按钮时屏幕切换不会发生

2024-09-27 09:22:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。我想切换到另一个屏幕(注册屏幕),当'注册'按钮点击主屏幕(登录屏幕)。下面是python代码:

import kivy
kivy.require('1.9.0') 
import ConfigParser
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.screenmanager import Screen, ScreenManager

Window.size = (700, 550)

class LoginPage(Screen):
    def switch_screen(*args):
       global sm
       print "i am in login and will switch to signup"
       sm.current = 'signup'

class SignUp(Screen):
    print "signup screen"
    pass

sm = ScreenManager()
sm.add_widget(LoginPage(name="login"))
sm.add_widget(SignUp(name="signup"))

class Test(App):
    icon = "C:\Users\shru\Desktop\download.jpg"
    title = "Member Login"
    def build(self):
        return sm

if __name__ == "__main__":
   Test().run()

这是.kv代码

^{pr2}$

执行时返回空白屏幕。我做错什么了吗?在

谢谢你


Tags: 代码namefromimportapp屏幕defwindow
2条回答

代码中的这些更改使其生效:

sm = ScreenManager()

class Test(App):
    def build(self):
       sm.add_widget(LoginPage(name="login"))
       sm.add_widget(SignUp(name="signup"))
       return sm

if __name__ == "__main__":
      Test().run()

在应用程序运行之前(也就是在加载kv文件之前)创建小部件的实例,因此不会应用kv规则,也不会看到任何内容。在

sm =等移动到build方法中以修复此问题,在运行该方法之前加载kv文件。在

相关问题 更多 >

    热门问题