如何使用kivy从python中的弹出窗口访问textinput

如何使用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 =

我试图创建一个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 = 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