【问题标题】:Is there builtin way to get a ToggleButton group's current selection?是否有内置方法来获取 ToggleButton 组的当前选择?
【发布时间】:2015-10-24 03:17:42
【问题描述】:

我只是浏览源代码以寻找执行此操作的方法,但没有看到任何方法。不过我想确定一下,因为我可能错过了一些东西。有没有内置的方法,比如方法?当我有一些ToggleButtons 一起在一个组中时,我希望能够获取当前选定的(state == 'down')按钮的值(我想是文本值)。我知道我可以用自己的方式轻松做到这一点,但它不存在似乎很奇怪。

在检查了文档和源代码后,我发现这是迄今为止最简单的方法:

from kivy.uix.togglebutton import ToggleButton as TB

current = [t for t in TB.get_widgets('group') if t.state=='down'][0]
value = current.text

虽然这不是很长或很难做到,但如果能够做到以下几点就好了:

警告:虚构代码

value = TB.get_widgets('group').selected

【问题讨论】:

  • 投票赞成,因为虚构代码警告让我哈哈大笑。这个问题本身也很好。
  • 只要记住,如果设置了allow_no_selection,可能会有一个没有按钮的组处于down状态。
  • @zeeMonkeez 非常正确。我想你可以将代码包装在 try/except 块或其他东西中

标签: python kivy togglebutton


【解决方案1】:

不,使用内置函数是不可能的。但我会这样做:

tb = next( (t for t in TB.get_widgets('group') if t.state=='down'), None)
test = tb.text if tb else None

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 2011-05-08
    • 2021-07-16
    • 1970-01-01
    • 2012-02-07
    • 2021-09-19
    相关资源
    最近更新 更多