ユーザー名とパスワードを入力できるログインページを作成します。両方の検証時に、ポップアップメッセージが表示され、 "ログインに成功しました"というメッセージが表示されるか、ポップアップメッセージ "ログインに失敗しました"が表示されます。 私はそれをやろうとしましたが、どこが間違っているのか分かりません。どんな助けでも大歓迎です。 (Login.pyとして保存された)次のように私のコードは次のとおりです。すべてのKivyログイン画面とポップアップでエラーが発生しました
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.popup import Popup
Builder.load_string("""
<[email protected]>:
canvas:
Rectangle:
source: 'b.png'
pos: self.pos
size: self.size
Label:
text: "PLEASE LOGIN OR SIGN UP"
center_x: (root.width/2)
top: (root.top/2)+ 200
font_size: 25
TextInput:
id: txtuname
center_x: (root.width/2)
top: (root.top/2)+ 100
size_hint: None,None
multiline: False
hint_text: "username"
size: 250, 40
max_lines: 1
valign: 'middle'
halign: 'center'
on_text_validate: root.validate();
TextInput:
id: txtpswd
multiline: False
center_x: (root.width/2)
top: (root.top/2)+ 50
size_hint: None,None
hint_text: "password"
size: 250, 40
max_lines: 1
valign: 'middle'
halign: 'center'
on_text_validate: root.validate();
password: True
Button:
id: btnlogin
size: 90,35
pos: 300, 250
font_size: 18
background_color: (1,1,1,0.1)
text: "Login"
on_press: root.validate(txtuname.text,txtpswd.text)
Button:
text: "Sign Up"
size: 90,35
pos: 400, 250
font_size: 18
background_color: (1,1,1,0.1)
<CustomPopup>:
Button:
id: btnpopup
text: "Login successfull"
size_hint: .5, .5
on_press: root.dismiss()
""")
class LoginScreen(Widget):
def validate(self,txtuname,txtpswd):
if txtuname == "username" and txtpswd == "password":
print(txtuname,txtpswd)
b = Button(on_press=self.show_popup)
return b
else:
print("Login failed")
class CustomPopup(Popup):
def show_popup(self, b):
p = CustomPopup()
p.open()
class LoginApp(App):
def build(self):
return LoginScreen()
if __name__ == "__main__":
LoginApp().run()
それは動作します!どうもありがとうございました :) – AS15