Kivy 没有正确获取 button.text 值
Posted
技术标签:
【中文标题】Kivy 没有正确获取 button.text 值【英文标题】:Kivy don't get the button.text value correctly 【发布时间】:2016-08-26 02:44:01 【问题描述】:我有问题,我有这个代码:
for j in range(1,21):
if "Canales" in item.title:
self.btn = Button(text="Channel "+str(j), size=(590, 42),size_hint=(None, None), on_press=self.aces)
layout.add_widget(self.btn)
...
def aces(self, valor):
print self.btn.text
当我打印 self.btn.text 时,我没有得到按钮的文本,我总是得到 j 的最后一个值,“channel 20”......是错误吗?只是我无能吗?...
提前致谢
【问题讨论】:
【参考方案1】:'self.btn' 始终是最后创建的按钮,因为您在循环中分配它,修复它的更改部分是 'aces' 的新(正确)定义,而不是绑定部分。
【讨论】:
【参考方案2】:我不知道是否是最优雅的解决方案,但我已经用 fbind 解决了
self.btn = Button(text="Arenavision "+str(j), size=(590, 42),size_hint=(None, None))
self.btn.fbind('on_press', self.aces, str(j))
...
def aces(self, value,arg):
print value
【讨论】:
以上是关于Kivy 没有正确获取 button.text 值的主要内容,如果未能解决你的问题,请参考以下文章