ToggleButton 行为

ToggleButtonBehavior 这个 mixin 类提供了 ToggleButton 的行为。您可以将此类与其他部件(如 Image)结合使用,以提供保留 Kivy 切换按钮行为的替代切换按钮。

关于行为的概述,请参阅 behaviors 文档。

示例

以下示例为图像添加了切换按钮行为,以制作一个行为类似于切换按钮的复选框::

from kivy.app import App
from kivy.uix.image import Image
from kivy.uix.behaviors import ToggleButtonBehavior


class MyButton(ToggleButtonBehavior, Image):
    def __init__(self, **kwargs):
        super(MyButton, self).__init__(**kwargs)
        self.source = 'atlas://data/images/defaulttheme/checkbox_off'

    def on_state(self, widget, value):
        if value == 'down':
            self.source = 'atlas://data/images/defaulttheme/checkbox_on'
        else:
            self.source = 'atlas://data/images/defaulttheme/checkbox_off'


class SampleApp(App):
    def build(self):
        return MyButton()


SampleApp().run()
class kivy.uix.behaviors.togglebutton.ToggleButtonBehavior(**kwargs)[源代码]

基类:ButtonBehavior

这个 mixin 类提供了 togglebutton 的行为。请参阅 togglebutton 行为模块 的文档以获取更多信息。

在 1.8.0 版本加入.

allow_no_selection

这指定了组中的小部件是否允许无选择,即所有项都被取消选中。

在 1.9.0 版本加入.

allow_no_selection 是一个 BooleanProperty,默认值为 True

static get_widgets(groupname)[源代码]

返回特定组中包含的控件列表。如果该组不存在,将返回一个空列表。

备注

务必释放此方法的返回值!持有这些任何控件的引用可能会阻止它们被垃圾回收。如有疑问,请执行以下操作:

l = ToggleButtonBehavior.get_widgets('mygroup')
# do your job
del l

警告

你之前删除的一些控件可能仍保留在列表中。垃圾回收器可能需要先释放其他对象,才能将它们清除。

group

按钮的组。如果为 None,则不使用组(按钮将是独立的)。如果指定了,:attr:`group` 必须是一个可哈希的对象,比如字符串。在一个组中,只能有一个按钮处于“按下”状态。

group 是一个 ObjectProperty,默认值为 None