from kivymd.app import MDApp
from kivy.lang import Builder
from kivymd.uix.dialog import MDDialog
from kivy.core.window import Window
from kivy.uix.screenmanager import ScreenManager,Screen
Window.size = (400, 600)
class Log_in(MDApp,Screen):
def dop(self):
username = self.id_v.user.text
password = self.id_v.passw.text
if username == "MD" and password == "kivy":
Main().run()
else:
dial = MDDialog(text='Opps Wrong!', background_color=(0.3, 1, 1, 0.3))
dial.open()
Window.keyboard_anim_args = {'d': .2, 't': 'in_out_expo'}
Window.softinput_mode = "below_target"
上面的代码是登录功能
class Main(MDApp,Screen):
pass
我刚刚在主类中添加了更多功能,例如对话框。
class WindowManager(ScreenManager):
pass
kv=Builder.load_file("Wolf.kv")
class Wolf(MDApp):
def build(self):
return kv
if __name__=="_main_":
Wolf().run()
这是我的 Wolf.kv 文件
WindowManager:
Log_in:
Main:
<Log_in>:
name:"log"
user:user
passw:passw
FloatLayout:
orientation:"vertical"
canvas.before:
Color:
rgba:(43/255, 41/255, 68/255,0.7)
Rectangle:
size:self.size
pos:self.pos
MDTextField:
id: user
hint_text : "Enter your Name"
helper_text : "Have u forget it?"
helper_text_mode : "on_focus"
icon_right : "android"
icon_right_color : app.theme_cls.primary_color
size_hint_x :None
width : '300'
pos_hint:{'center_x':0.5,'center_y':0.6}
multiline : False
foreground_color:0,0,1,1
MDTextField:
id: passw
hint_text : "Enter your Password"
helper_text : "Got it?"
helper_text_mode : "on_focus"
icon_right : "key"
icon_right_color : app.theme_cls.primary_color
size_hint_x :None
width : '300'
pos_hint:{'center_x':0.5,'center_y':0.5}
multiline : False
password:True
MDRectangleFlatButton:
id:btn
text:"Log in"
pos_hint:{'center_x': 0.5, 'center_y': 0.4}
on_press:root.dop()
<Main>:
name:"main"
Button:
text:'hi'
正如我之前提到的,我在 Main 类中添加了很多东西。
请不要介意这些缩进错误。我尝试了很多,但它不起作用。屏幕管理有错误吗?谢谢 :)