Kivy触发on_release自动与KV语言

时间:2016-11-09 16:51:02

标签: python python-3.x kivy kivy-language

我的KV语言有以下内容:

TabbedPanelItem:
text: 'Item 2'
on_release: print('foo')

如果我点击我的标签项,我收到了正确的消息(foo)。

但是如果我尝试在我的python代码上调用on_release方法,它就不起作用了。像这样:

else:
    tabbed_panel = self.parent.parent
    tabbed_panel.tab_list[1].on_release()

我这样做,因为如果我拨打tabbed_panel.switch_to(tabbed_panel.tab_list[1]),它就不会调用我标签项的on_release方法。 我究竟做错了什么?我需要做什么来解决它?是否还有其他行为,例如on_switch

1 个答案:

答案 0 :(得分:1)

如果您想触发Kivy小部件的事件,请首先检查这样的偶数是否可用。如果是,那么只需使用dispatch来触发它。

示例:

tabbed_panel.tab_list[1].dispatch('on_release')

on_release方法意味着发布触摸(来自小工具区域),而不是ScreenScreenManager发布。 switch_to仅用于将Screen更改为另一个。{/ p>