python使用kivy,编辑了一串关于APP登陆注册界面的代码,但是一运行,窗口冒出来一下下就瞬间关闭,但是其他显示hello world这样的窗口是正常出现的
import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
kivy.require('2.1.0')
class LoginScreen(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.orientation = 'vertical'
self.padding = [50, 50, 50, 50]
# 标题
self.add_widget(Label(text='登录', font_size=30, size_hint_y=0.2))
# 用户名
self.username = TextInput(multiline=False, size_hint_y=0.2, hint_text='请输入用户名')
self.add_widget(self.username)
# 密码
self.password = TextInput(multiline=False, password=True, size_hint_y=0.2, hint_text='请输入密码')
self.add_widget(self.password)
# 登录按钮
self.login_button = Button(text='登录', size_hint_y=0.2)
self.login_button.bind(on_press=self.login)
self.add_widget(self.login_button)
# 注册链接
self.add_widget(Label(text='还没有账号?', size_hint_y=0.2))
self.register_link = Button(text='点击注册', size_hint_y=0.2)
self.register_link.bind(on_press=self.switch_to_register)
self.add_widget(self.register_link)
def login(self, instance):
username = self.username.text
password = self.password.text
print(f'尝试登录,用户名:{username},密码:{password}')
# 在这里添加登录的验证逻辑
def switch_to_register(self, instance):
print('切换到注册界面')
# 在这里实现切换到注册界面的逻辑
class RegisterScreen(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.orientation = 'vertical'
self.padding = [50, 50, 50, 50]
# 标题
self.add_widget(Label(text='注册', font_size=30, size_hint_y=0.2))
# 用户名
self.username = TextInput(multiline=False, size_hint_y=0.2, hint_text='请输入用户名')
self.add_widget(self.username)
# 密码
self.password = TextInput(multiline=False, password=True, size_hint_y=0.2, hint_text='请输入密码')
self.add_widget(self.password)
# 确认密码
self.confirm_password = TextInput(multiline=False, password=True, size_hint_y=0.2, hint_text='请确认密码')
self.add_widget(self.confirm_password)
# 注册按钮
self.register_button = Button(text='注册', size_hint_y=0.2)
self.register_button.bind(on_press=self.register)
self.add_widget(self.register_button)
# 登录链接
self.add_widget(Label(text='已有账号?', size_hint_y=0.2))
self.login_link = Button(text='点击登录', size_hint_y=0.2)
self.login_link.bind(on_press=self.switch_to_login)
self.add_widget(self.login_link)
def register(self, instance):
username = self.username.text
password = self.password.text
confirm_password = self.confirm_password.text
print(f'尝试注册,用户名:{username},密码:{password},确认密码:{confirm_password}')
# 在这里添加注册的验证逻辑
def switch_to_login(self, instance):
print('切换到登录界面')
class MyApp(App):
def build(self):
return LoginScreen()
if __name__ == '__main__':
MyApp().run()
python 是一种面向对象的解释型编程语言,而且 python 语法简洁,清晰,具有一组功能丰富而强大的类库。
变量的命名 :变量名只能包括字母,数字和下划线,且第一个字符必须是字母或下划线,不能是数字。
变量的数据类型 :数字 ,布尔类型 ,字符串