【发布时间】:2020-08-26 23:33:37
【问题描述】:
所以我刚开始使用 Kivy 创建一个简单的应用程序。 我有 2 个屏幕(主屏幕和注册屏幕)。但是,我无法将屏幕从主屏幕切换到注册屏幕。也没有错误代码,所以我不确定出了什么问题
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:
Main:
Register:
<Main>:
name: "Main"
FloatLayout:
canvas:
Color:
rgba: .62,.91,.968,1
Rectangle:
pos : self.pos
size : self.size
Color:
rgba:1,.984,.58,1
Rectangle:
size: self.width , self.height/25
pos: self.pos
Label:
text:"Kosless"
font_size:30
color: 1,.984,.58
pos_hint:{"y":0.4}
bold:True
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" ##I think something went wrong here
Button:
text:"Edit Data"
size_hint: 0.5 ,0.1
pos_hint:{"y":0.40,"x":0.25}
background_color:0.1, 0.5, 0.6, 1
on_press : root.btn_edit_data()
Button:
text:"See Data"
size_hint: 0.5 ,0.1
pos_hint:{"y":0.25,"x":0.25}
background_color:0.1, 0.5, 0.6, 1
on_press : root.btn_lihat_data()
<Register>:
name: "Register"
Button:
text:"Test"
这里是主屏幕,理论上如果我点击“添加数据”按钮,就会出现注册屏幕。然而什么也没有发生…… Main Screen
我该怎么办? 你们有什么建议吗? 感谢您阅读我的帖子,祝您有美好的一天!
【问题讨论】: