首页 > 解决方案 > 执行后如何清除文本字段???KivyMD

问题描述

在执行一个操作后,例如接收文本并关闭窗口,在文本字段文本中打开窗口时。有必要在关闭 mdDialog 窗口后,删除文本。我设法保存它,但在字符串方法中。必须通过按下按钮并关闭来清除它。

from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.button import MDFlatButton
from kivymd.uix.dialog import MDDialog
from kivymd.uix.boxlayout import BoxLayout


KV = '''


<Content>
    tes:tes
    orientation: 'vertical'
    spacing: '12dp'
    size_hint_y: None
    height: '120dp'
    MDTextField:
        id:tes

        on_text:app.inputs(self)
        





MDFloatLayout:
    MDFloatingActionButton:
        icon:'plus'
        pos_hint:{'center_y': .1, 'center_x':.5}
        on_release:app.new()



'''


class Content(BoxLayout):
    pass




class General(MDApp):
    dialog=None 

    def build(self):
        return Builder.load_string(KV)




    def inputs(self, event):
        self.txt = event.text
        print(self.txt)



    def no(self, event):
        event.text=''
        self.dialog.dismiss()
        
        
    def yes(self, event):
        event.text=''
        self.dialog.dismiss()


    def new(self):
        if not self.dialog:
            self.dialog = MDDialog(
                type='custom',
                content_cls=Content(),
                buttons = [
                    MDFlatButton(text='Отмена', text_color=self.theme_cls.primary_color, on_release=self.no),
                    MDFlatButton(text='Добавить',text_color=self.theme_cls.primary_color, on_press=self.yes),
                    
                ]
            )
        self.dialog.open()
        






General().run()

    

标签: pythonkivykivymd

解决方案


再会。我建议您text_field_text = StringProperty("My Default String")App课堂上创建并让widget.text = app.text_field_text.

从那里,您可以使用回调函数清除您的应用字符串属性。


推荐阅读