KivyMD:如何从 python 中添加的 TextField 获取文本

Posted

技术标签:

【中文标题】KivyMD:如何从 python 中添加的 TextField 获取文本【英文标题】:KivyMD: How to get text from TextField added from within python 【发布时间】:2021-04-24 11:03:32 【问题描述】:

所以我的代码如下所示:

self.ids.container.add_widget(
    MDTextField(id="a")
)

当我稍后尝试通过以下方式访问输入的文本时:

text = self.ids["a"].text 

我收到KeyError: 'a'

怎么会?我该怎么做?

【问题讨论】:

【参考方案1】:

好的,我想通了:

解决方案

def __init__(self):
    self.tf = []

def get_field(self):
    for i in range(3):
        tf = MDTextField(id=str(i), hint_text="Alt"+str(i))
        self.tf.append(tf)
        self.ids.container.add_widget(tf)

def print_it(self):
    for itm in self.tf:
        print(itm.text)

如您所见,解决方案是将 MDTextField 小部件存储在类内的列表中。

【讨论】:

以上是关于KivyMD:如何从 python 中添加的 TextField 获取文本的主要内容,如果未能解决你的问题,请参考以下文章

如何从分配给 KivyMD Python 中的 MDLists 的 TextFields 获取数据

如何从for循环中获取用户输入的数据到kivymd中的python文件

Kivymd:如何在不创建自定义类的情况下在列表项中添加复选框?

如何编写程序让用户使用按钮将头像添加到 KivyMD 应用程序

kivymd:如何在下拉菜单中添加图标?

如何在 KivyMD 中添加启动画面