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

时间:2020-08-29 03:29:33

标签: python kivy kivymd

我正在制作一个将2个矩阵相乘的应用程序。为此,我创建了用户界面,但无法弄清楚如何在python文件中获取用户输入,因此我可以在那里进行操作。

这是我的奇异果文件

[(x[0], y[1]) for x, y in zip(l, l[-1:] + l)]

因为我的MDTextField位于for循环内,所以我不能在那里使用id,因为从那里我将获得具有相同id的所有16个文本字段。 我如何在我的python文件中的app.find_multiply函数中获取全部16个文本字段输入,以便可以在那里执行操作。

1 个答案:

答案 0 :(得分:0)

存储对文本字段的引用,并在以后访问它们以执行所需的操作。

我将删除您的on_parent,将GridLayout替换为您自己的课程MyGridLayout(GridLayout):,并让该课程这样做:

def __init__(self, **kwargs):
    super().__init__(**kwargs)
    self.text_fields = [MdTextField(hint_text= 'sc', helper_text= 'hello', size_hint_x= None, width = 40))] for _ in range(16)]

然后,当您要访问它们时,可以通过例如entered_numbers = [int(field.text) for field in self.text_field]

当然,这只是一个基本示例,实际上,您需要进行错误检查等。