Python 登录屏幕在页面上不显示任何内容
我有我目前正在创建的应用程序的代码:Python 登录屏幕在页面上不显示任何内容,python,kivy,Python,Kivy,我有我目前正在创建的应用程序的代码: from kivy.app import App from kivy.lang import Builder from kivy.uix.screenmanager import ScreenManager, Screen import json from datetime import datetime Builder.load_file('design.kv') class LoginScreen(Screen): def sign_up
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
import json
from datetime import datetime
Builder.load_file('design.kv')
class LoginScreen(Screen):
def sign_up(self):
print("Sign up button pressed")
self.manager.current = "sign_up_screen"
def login(self, uname, pword):
with open("users.json") as file:
users = json.load(file)
if uname in users and users[uname]['password'] == pword:
self.manager.current = 'login_screeen_success'
class RootWidget(ScreenManager):
pass
class SignUpScreen(Screen):
def add_user(self, uname, pword):
with open("users.json") as file:
users = json.load(file)
print(users)
users[uname] = {'username': uname, 'password': pword,
'created': datetime.now().strftime("%Y-%m-%d %H-%m-%S")}
with open("users.json", "w") as file:
json.dump(users, file)
self.manager.current = "sign_up_screen_success"
class SignUpScreenSuccess(Screen):
def go_to_login(self):
self.manager.transition.direction = "right"
self.manager.current = "login_screen"
class LoginScreenSuccess(Screen):
def log_out(self):
self.manager.transition.direction = "right"
self.manager.current = "login_screen"
class MainApp(App):
def build(self):
return RootWidget()
if __name__ == "__main__":
MainApp().run()
我这里也有我的kivy代码:
<LoginScreen>:
GridLayout:
cols: 1
GridLayout:
cols: 1
Label:
text: "User Login"
TextInput:
id: username
hint_text: "Username"
TextInput:
id: password
hint_text: "Password"
Button:
text: "Login"
on_press: root.login(root.ids.username.text, root.ids.password.text)
GridLayout:
cols: 2
Button:
text: "Forgot Password"
Button:
text: "Sign Up"
on_press: root.sign_up()
<SignUpScreen>:
GridLayout:
cols: 1
Label:
text: "Sign up for a space journey!"
TextInput:
id: username
hint_text: "Username"
TextInput:
id: password
hint_text: "Password"
Button:
text: "Submit"
on_press: root.add_user(root.ids.username.text, root.ids.password.text)
<SignUpScreenSuccess>:
GridLayout:
cols: 1
Label:
text: "Sign up successful"
Button:
text: "Login page"
on_press: root.go_to_login()
<LoginScreenSucces>:
GridLayout:
cols: 1
Button:
text: "Logout"
on_press: log_out()
Label:
text: "How do you feel?"
TextInput:
hint_text: "Things to try: happy, sad, unloved"
Button:
text: "Enlighten me"
Label:
text: ""
<RootWidget>:
LoginScreen:
name: "login_screen"
SignUpScreen:
name: "sign_up_screen"
SignUpScreenSuccess:
name: "sign_up_screen_success"
LoginScreenSuccess:
name: "login_screeen_success"
:
网格布局:
科尔斯:1
网格布局:
科尔斯:1
标签:
文本:“用户登录”
文本输入:
id:用户名
提示文字:“用户名”
文本输入:
id:密码
提示文字:“密码”
按钮:
文本:“登录”
按:root.login(root.ids.username.text,root.ids.password.text)
网格布局:
科尔斯:2
按钮:
文本:“忘记密码”
按钮:
文本:“注册”
按:root.sign\u up()
:
网格布局:
科尔斯:1
标签:
文字:“报名参加太空旅行!”
文本输入:
id:用户名
提示文字:“用户名”
文本输入:
id:密码
提示文字:“密码”
按钮:
案文:“提交”
按:root.add\u user(root.ids.username.text,root.ids.password.text)
:
网格布局:
科尔斯:1
标签:
文本:“注册成功”
按钮:
文本:“登录页面”
按:root.转到登录()
:
网格布局:
科尔斯:1
按钮:
文本:“注销”
按:注销()
标签:
文字:“你感觉如何?”
文本输入:
提示文字:“要尝试的事情:快乐、悲伤、不被爱”
按钮:
文字:“启发我”
标签:
案文:“”
:
登录筛选:
名称:“登录屏幕”
屏幕上方的标志:
名称:“注册屏幕”
SignupScreensAccess:
名称:“注册\屏幕\成功”
登录筛选成功:
名称:“登录成功”
一切正常,但在输入用户名和密码后单击“登录”时,
LoginScreenSuccess
页面上不会显示任何内容。我不知道为什么。有人能帮忙吗。我一直在寻找解决方案,但找不到。只是输入错误。在您的kv
中,将:
更改为:
(缺少尾随s
)