Создание текстовых вводов / меток kivvy с использованием цикла for

#python #kivy

#python #kivy

Вопрос:

У меня есть пример моего кода ниже, где он принимает словарь переменных и создает текстовые вводы на основе количества переменных в словаре:

 class MainApp(App):
    def build(self):
        layout = GridLayout(cols=4, spacing=10, size_hint_y=None)
        layout.bind(minimum_height=layout.setter('height'))

        inputsdict, equationname = EqList1.xy_labels()
        for key1, val in inputsdict.items():
            label = Label(text=val['name']  ' '  val['unit'], size_hint_y=None)
            # id = val['name']
            input = TextInput()
            layout.add_widget(label)
            layout.add_widget(input)

        return layout
 

Есть ли способ перенести все элементы дизайна в файл kv, имея возможность использовать цикл for (или какой-либо другой метод) для создания произвольного количества текстовых вводов?

Комментарии:

1. Привет, я не думаю, что раньше использовал Kivy, но ради уточнения вашего вопроса: есть ли что-то, что не работает с вашим for циклическим подходом?

2. @summea Нет, это сработает, я просто хочу использовать файл kv для очистки стороны python. Это также проще визуализировать, по крайней мере, для меня

3. О, так вместо того, чтобы иметь for цикл в самом приведенном выше коде, вы можете захотеть поместить эту часть в .kv файл? Если да, как вы думаете, будет ли работать что-то вроде динамических классов ?