2016-11-09 33 views
0

により自動的に異なるon_release:Kivyトリガは、私は私のKV言語で次のしているKV言語

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

私は私のタブ項目をクリックすると、私は正しいメッセージ(FOO)を得ました。

しかし、on_releaseメソッドをPythonコードで呼び出そうとすると、機能しません。このように:

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

Kivyウィジェットのイベントをトリガーしたい場合は、まずそのような偶数が利用可能であるかどうかをチェックします。はいの場合は、単にdispatchを使用してトリガーします。

例:

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

on_release方法は、(ウィジェットの領域から)タッチのリリースではなく、ScreenManagerからScreenの放出に意味します。 switch_toは、Screenを別のものに変更するためのものです。

+0

もう一度お手伝いしますか? =) ありがとう、それは完璧に動作します! – Caaarlos

関連する問題