python - 执行后如何清除文本字段???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()
解决方案
再会。我建议您text_field_text = StringProperty("My Default String")
在App
课堂上创建并让widget.text = app.text_field_text
.
从那里,您可以使用回调函数清除您的应用字符串属性。
推荐阅读
- java - 自定义操作实施 Magnolia CMS
- arrays - 如何让猫鼬将一组 url 推送到数组子文档
- angular - 离子 - amcharts4 - 对象原型可能只是一个对象或空:未定义
- terraform - Lambda 资源中变量引用的 Terraform 错误,甚至不会被创建
- java - 如何使用 JOptionPane 创建菜单
- java - 通过 Java 程序发送电子邮件
- android - 如何对齐两个相邻的按钮?
- php - 将关联数组传递到 Laravel 5.8 中的 where caluse
- python - PyDotPlus 无法解析节点属性中带有 '\"' 的点
- angularjs - 如何停止对同一网址的双重请求