我的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
?
答案 0 :(得分:1)
如果您想触发Kivy小部件的事件,请首先检查这样的偶数是否可用。如果是,那么只需使用dispatch
来触发它。
示例:强>
tabbed_panel.tab_list[1].dispatch('on_release')
on_release
方法意味着发布触摸(来自小工具区域),而不是Screen
从ScreenManager
发布。 switch_to
仅用于将Screen
更改为另一个。{/ p>