【问题标题】:Kivy don't get the button.text value correctlyKivy 没有正确获取 button.text 值
【发布时间】: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”......是错误吗?只是我无能吗?...

提前致谢

【问题讨论】:

    标签: python loops button kivy


    【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-19
        • 1970-01-01
        • 1970-01-01
        • 2012-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多