【问题标题】:Kivy trigger on_release automatically different than on KV languageKivy 触发 on_release 自动不同于 KV 语言
【发布时间】:2016-11-10 01:56:52
【问题描述】:

我的 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的行为?

【问题讨论】:

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


    【解决方案1】:

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

    示例:

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

    on_release 方法意味着释放 触摸(从小部件的区域),而不是释放来自 ScreenManagerScreenswitch_to 只是为了把一个Screen 换成另一个。

    【讨论】:

    • 你又帮我了? =) 谢谢,效果很好!
    猜你喜欢
    • 2017-01-16
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2021-08-23
    • 1970-01-01
    相关资源
    最近更新 更多