kivy python列表到按钮文本
Posted
技术标签:
【中文标题】kivy python列表到按钮文本【英文标题】:kivy python List to button text 【发布时间】:2016-06-07 04:23:59 【问题描述】:尝试用 myList["One", "Two", "Three"] 的内容填充三个按钮的文本 btn1 = myList[1] 等
myList 将从 csv 文件中填充
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`
【问题讨论】:
你能提供更多细节吗?显示一些代码? 尽可能添加代码 你绝对应该格式化你的代码。欲了解更多信息,请访问Help Center 我想为 kv builder 字符串使用 kv 文件,以保持 Layout 独立并尽可能使用 kv 功能 【参考方案1】:你可以完全用python代码来做:
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()
【讨论】:
为 OP 添加一些解释会很好。以上是关于kivy python列表到按钮文本的主要内容,如果未能解决你的问题,请参考以下文章
在 Kivy for Python 中按下按钮时更新标签的文本