Python 无法在Kivy中切换屏幕

Python 无法在Kivy中切换屏幕,python,kivy,Python,Kivy,所以我刚开始使用Kivy创建一个简单的应用程序。 我有两个屏幕(主屏幕和寄存器)。但是,我无法将屏幕从主屏幕切换到寄存器。也没有错误代码,所以我不确定出了什么问题 Python代码 from kivy.app import App from kivy.properties import ObjectProperty from kivy.graphics import Rectangle, Color, Line from kivy.uix.floatlayout import FloatLayo

所以我刚开始使用Kivy创建一个简单的应用程序。 我有两个屏幕(主屏幕和寄存器)。但是,我无法将屏幕从主屏幕切换到寄存器。也没有错误代码,所以我不确定出了什么问题

Python代码

from kivy.app import App
from kivy.properties import ObjectProperty
from kivy.graphics import Rectangle, Color, Line
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import Screen,ScreenManager


class Main(Screen):
    def btn_tambah_data(self):
        print("Add Data")

    def btn_edit_data(self):
        print("Edit Data")

    def btn_lihat_data(self):
        print("See Data")

class Register(Screen):
    pass


class WindowManager(ScreenManager):
    pass


class Kosless(App):
    def build(self):
        return Main()


if __name__ == "__main__":
    Kosless().run()
Kv代码(对不起,如果我的代码有点乱)

WindowManager:
主要内容:
登记册:
:
名称:“主要”
浮动布局:
画布:
颜色:
rgba:.62、.91、.968,1
矩形:
pos:self.pos
大小:self.size
颜色:
rgba:1,984,58,1
矩形:
尺寸:自宽、自高/25
pos:self.pos
标签:
文本:“无科”
字体大小:30
颜色:1.984.58
pos_提示:{“y”:0.4}
黑体字:对
按钮:
文本:“添加数据”
pos_提示:{“y”:0.55,“x”:0.25}
尺寸提示:0.5,0.1
背景颜色:0.1,0.5,0.6,1
按:app.root.current:“注册”##我想这里出了点问题
按钮:
文本:“编辑数据”
尺寸提示:0.5,0.1
pos_提示:{“y”:0.40,“x”:0.25}
背景颜色:0.1,0.5,0.6,1
按:root.btn\u编辑\u数据()
按钮:
正文:“见数据”
尺寸提示:0.5,0.1
pos_提示:{“y”:0.25,“x”:0.25}
背景颜色:0.1,0.5,0.6,1
按:root.btn\u lihat\u data()
:
姓名:“注册”
按钮:
文本:“测试”
这是主屏幕,理论上,如果我点击“添加数据”按钮,注册屏幕将显示出来。但是什么也没发生。。。

我该怎么办? 你们有什么建议吗?
谢谢你阅读我的帖子,祝你有美好的一天

您的代码有两个问题。首先,为了切换屏幕,您需要一个
ScreenManager
,但是您的
app.root
是一个
Screen
Main
)。您可以将
build()
方法更改为:

class Kosless(App):
    def build(self):
        return Builder.load_file('kv_file_name')
添加数据
按钮的
on_press
属性应为:

    Button:
        text:"Add Data"
        pos_hint:{"y":0.55,"x":0.25}
        size_hint: 0.5 ,0.1
        background_color:0.1, 0.5, 0.6, 1
        on_press : app.root.current="Register" # changed `:` to `=`
    Button:
        text:"Add Data"
        pos_hint:{"y":0.55,"x":0.25}
        size_hint: 0.5 ,0.1
        background_color:0.1, 0.5, 0.6, 1
        on_press : app.root.current="Register" # changed `:` to `=`