'kivy python List to button text

Trying to populate the text of three buttons with the content of myList["One", "Two", "Three"] btn1 = myList[1] etc

myList will be populated fron csv file

from kivy.app import App

from kivy.lang import Builder

kv = """
    BoxLayout:

    Button:
        id: btn1
    Button:
        id: btn2
    Button:
        id: btn3
"""


class TestApp(App):

    def build(self):
        my_box = Builder.load_string(kv)
        my_ShowList = ['My Way', 'Wine Drinker', 'Boots']

        '''
        This is where I get lost
        want to use for loop to populate Button text with my_ShowList items
        '''


        return my_box


if __name__ == '__main__':

    TestApp().run()enter code here`


Solution 1:[1]

You can do it entirely in python code:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button


class TestClass(App):
    def build(self):
        my_box = BoxLayout()
        my_show_list = ["My Way", "Wine Drinker", "Boots"]
        my_box.my_buttons = [] # if you want to keep an "easy" reference to your buttons to do something with them later
                               #kivy doesnt crashes because it creates the property automatically
        for message in my_show_list:
            button = Button(text=message)
            my_box.my_buttons.append(button)
            my_box.add_widget(button)
        return my_box


if __name__ == "__main__":
    TestClass().run()

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Carolus Rex