标签未在 kivy 中更新

Label not updating in kivy

    self.create_pass_input = TextInput(text='', multiline=False)
    self.add_details.add_widget(self.create_pass_input)
    
    self.add_details.add_widget(Label(text="Strong password's prevent hacking"))

    
    self.password_tracker = Label()
    
    if len(self.create_pass_input.text)  < 5:
        self.password_tracker.text = 'Weak'
      
    else:
        self.password_tracker.text = 'Strong'   
   
       
    self.add_details.add_widget(self.password_tracker)

我正在尝试更新名为 'self.password_tracker' 的标签,因为名为 'self.create_pass_input' 的文本输入中的文本发生了变化,但如果可能的话没有得到任何更新,可以用 python 语言给出答案

您可以修改您提到的代码部分,如下所示:

    def on_text(instance, value):
        if len(self.create_pass_input.text)  < 5:
            self.password_tracker.text = 'Weak'          
        else:
            self.password_tracker.text = 'Strong'                       
    
    self.create_pass_input = TextInput(text='', multiline=False)
    self.create_pass_input.bind(text=on_text)
    self.add_details.add_widget(self.create_pass_input)    
    self.add_details.add_widget(Label(text="Strong password's prevent hacking"))    
    self.password_tracker = Label()
    self.add_details.add_widget(self.password_tracker)

这将确保在 TextInput 的文本更改时触发 on_text 方法。