如何使用kivy从python中的弹出窗口访问textinput
我试图创建一个textinput并访问用户输入的文本,然后将其放入if语句中。但是,当我在textinput中输入正确的单词时,if语句仍然为false如何使用kivy从python中的弹出窗口访问textinput,python,python-3.x,kivy,Python,Python 3.x,Kivy,我试图创建一个textinput并访问用户输入的文本,然后将其放入if语句中。但是,当我在textinput中输入正确的单词时,if语句仍然为false def passer(self, text1 , text2): box = BoxLayout(orientation='vertical', padding=(10)) box.add_widget(Label(text="Please Enter Admin Password: ")) self.txtpswd =
def passer(self, text1 , text2):
box = BoxLayout(orientation='vertical', padding=(10))
box.add_widget(Label(text="Please Enter Admin Password: "))
self.txtpswd = TextInput(text='test',multiline=False)
box.add_widget(self.txtpswd)
btn1 = Button(text="Enter",size_hint=(0.5, 0.5))
btn2 = Button(text="Cancel",size_hint=(0.5, 0.5))
box.add_widget(btn1)
box.add_widget(btn2)
popup = Popup(title='', title_size=(30),
title_align='center', content=box,
size_hint=(None, None), size=(400, 400),
auto_dismiss=True)
if self.txtpswd.text == "test":
Alert(title='Admin Password', text='Password Accepted')
self.manager.get_screen('custom').add_hours(text1, text2)
popup.dismiss()
if self.txtpswd.text != "test":
Alert(title='Admin Password', text='Invalid Password')
popup.dismiss()
btn2.bind(on_press=popup.dismiss)
popup.open()
当我输入正确的单词时,我希望if语句的结果为true,但它总是返回false,弹出窗口甚至没有关闭。您是否将
btn1
绑定到回调方法以检查密码?否,让我试试您的代码从上到下顺序执行。也就是说,popup
已创建(但未打开),如果执行了if
语句并且popup.disease()
将被一个或另一个块调用(但popup
尚未打开,因此disease将无效),则绑定您的btn2
,然后在您发布的代码末尾打开弹出窗口
。因此,关闭弹出窗口的唯一方法是单击btn2
。您是否将btn1
绑定到回调方法以检查密码?o否,让我试试您的代码从上到下顺序执行。也就是说,popup
已创建(但未打开),如果执行了if
语句并且popup.disease()
将被一个或另一个块调用(但popup
尚未打开,因此disease将无效),则绑定您的btn2
,然后在您发布的代码末尾打开弹出窗口
。因此,关闭弹出窗口的唯一方法是单击btn2
。