Я делаю страницу входа в систему в kivy и использую компоненты kivyMD, работая, я хочу изменить экран страницы входа, когда пользователь нажимает кнопку «регистрация», чтобы перейти к экрану регистрации. Для этого я использую менеджер экрана kivy, но он не работает должным образом. Первоначально я написал свой код в нормальных kivy и использовал тот же лог c для менеджера экрана, и он работал нормально. Пожалуйста, помогите мне в этом.
Это мой файл main.py
from kivy.lang import Builder
from kivy.uix.screenmanager import *
from kivymd.uix.label import MDLabel
from kivymd.font_definitions import theme_font_styles
from kivymd.app import MDApp
kv=Builder.load_file('Login.kv')
class loginwindow(Screen):
pass
class signupwindow(Screen):
pass
class MyScreenManager(ScreenManager):
pass
#sm=ScreenManager()
#sm.add_widget(loginwindow(name='login'))
#sm.add_widget(signupwindow(name='signup'))
class Test(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
screen = Screen()
return kv
Test().run()
И это мой файл Login.kv
#: import ScreenManager kivy.uix.screenmanager.ScreenManager
#: import Screen kivy.uix.screenmanager.ScreenManager
<MyScreenManager>:
id: sm
loginwindow:
signupwindow:
<loginwindow>:
name: 'login'
FloatLayout:
MDTextField:
id: username
hint_text: "Enter Username"
pos_hint: {'center_x': 0.5, 'center_y': 0.6}
size_hint:(0.50, 0.10)
color_mode: 'primary'
MDTextField:
id: password
hint_text: "Enter Password"
password:True
pos_hint: {'center_x': 0.5, 'center_y': 0.5}
size_hint:(0.50, 0.10)
DefaultLabel:
text: 'Scheduler'
font_size: '50sp'
pos_hint: {'center_y': 0.8}
font_name: 'Product Sans Bold.ttf'
MDRoundFlatButton:
size_hint: (0.2,0.0675)
font_size: '20sp'
text: "Login"
pos_hint:{'center_x':0.38,'center_y':0.37}
MDFillRoundFlatButton:
size_hint: (0.2,0.0675)
font_size: '20sp'
text: "Sign Up"
pos_hint:{'center_x':0.62,'center_y':0.37}
on_release:
app.root.current = "signup"
<signupwindow>:
name: 'signup'
FloatLayout:
DefaultLabel:
text: 'Welcome to Scheduler!!'
font_size: 60
pos_hint: {'center_y': 0.85}
font_name: 'Product Sans Bold.ttf'
DefaultLabel:
text: 'In order to use our application, please fill the following details:-'
font_size: 20
pos_hint: {'center_y': 0.75}
DefaultInput:
id: username
hint_text: "Enter Full Name"
pos_hint: {'center_x': 0.5, 'center_y': 0.65}
DefaultInput:
id: email
hint_text: 'Enter Email ID'
pos_hint: {'center_x': 0.5, 'center_y': 0.55}
DefaultInput:
id: confirm_email
hint_text: 'Confirm Email ID'
pos_hint: {'center_x': 0.5, 'center_y': 0.45}
DefaultInput:
id: password
hint_text: "Enter Password"
password:True
pos_hint: {'center_x': 0.5, 'center_y': 0.35}
DefaultInput:
id: confirm_pass
hint_text: "Confirm Password"
password:True
pos_hint: {'center_x': 0.5, 'center_y': 0.25}
MDRoundFlatButton:
size_hint: (0.2,0.0675)
font_size: '20sp'
text: "Go Back"
pos_hint:{'center_x':0.38,'center_y':0.15}
MDFillRoundFlatButton:
size_hint: (0.2,0.0675)
font_size: '20sp'
text: "Confirm"
pos_hint:{'center_x':0.62,'center_y':0.15}
<DefaultLabel@MDLabel>:
theme_text_color: 'Primary'
halign: 'center'
font_name: 'Product Sans Regular.ttf'
<DefaultInput@MDTextField>:
size_hint:(0.50, 0.10)
Я что-то не так делаю ?
Я также ссылался на KivyMD Screen Manager, не могу работать , но он также не работает
Ошибки, которые я получаю, в основном включают: 1.nothing появляется во время выполнения кода 2. 'Необходимо определить объект приложения'