2016-12-17 4 views
0

Когда я нажимаю на строку в своем Wx.ListCtrl, я ничего не хочу, пока не нажму DELETE. Проблема в том, что я не знаю, как заставить обработчик события активировать другой.WxPython - обработчик 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() 

Я хочу, чтобы каким-то образом сделать первый обработчик события активизируют/ждать 2-го обработчика событий, чтобы стать истинным (кто-то нажимает удаление). Затем функция запускается и печатает «Вы нажали удаление».

Если это невозможно, любые другие идеи относительно того, как я могу это сделать?

ответ

1

Когда элемент списка выбранных событий триггеров, получите обработчик события для этого, чтобы установить переменную can_delete в значение True или False, если элемент не выбран. В обработчике ключевых событий, когда нажато удаление, также проверьте, что can_delete имеет значение true.

Или

когда удаление нажата, проверьте, если элемент управления имеет фокус список и выбран пункт.

 Смежные вопросы

  • Нет связанных вопросов^_^