2016-12-17 4 views
0

Wx.ListCtrlの行をクリックすると、DELETEを押すまで何も起こりません。問題は、イベントハンドラで別のイベントハンドラをアクティブにする方法がわかりません。私は何とか最初のイベントハンドラを作成したいWxPython - 2番目のイベントハンドラをアクティブ化/アクティブ化するための1番目のイベントハンドラ

self.list.Bind(wx.EVT_LIST_ITEM_SELECTED, ...) 
self.list.Bind(wx.EVT_KEY_DOWN, self.onSelect) 

def onSelect(self, event): 
    keycode = event.GetKeyCode() 

    if keycode == wx.WXK_DELETE: 
     print "You pressed delete." 

    event.Skip() 

(誰かが削除押す)真なるために第二のイベントハンドラを待つ/アクティベート:

これは、これまでのところ、私のコードです。機能が実行され、「あなたが削除を押した」というメッセージが表示されます。

これができない場合、どのように私はこれを行うことができますか他のアイデアですか?

答えて

1

リスト項目選択イベントがトリガされたときに、項目が選択されていない場合、変数can_deleteをTrueまたはFalseに設定するためのイベントハンドラを取得します。 キーイベントハンドラで、deleteを押すと、can_deleteがtrueであることも確認します。リストコントロールにフォーカスがあるとアイテムが選択されている場合

または押されて削除

は、確認してください。

関連する問題