Привязать к той же функции в Python - PullRequest
0 голосов
/ 21 марта 2011

Мне нужно использовать два события, чтобы отправить сообщение из дочернего фрейма в основной фрейм и закрыть дочерний фрейм (используя pubsub).Одним из событий является событие нажатия кнопки «Отмена» на дочернем фрейме, а другим - событие закрытия дочернего фрейма.Поэтому я использую общую функцию «OnClose» для них обоих.Вот мой связанный код:

self.Bind(wx.EVT_BUTTON, self.OnClose, id=cancel.GetId())

self.Bind( wx.EVT_CLOSE, self.OnClose )

def OnClose(self, event):
    self.Close()
    Pubsub().sendMessage(("show.mainframe"),"")`

Каждый раз, когда я закрываю свою дочернюю рамку, она фактически не закрывается, и когда я пытаюсьповторно открыть дочерний кадр из основного кадра, новый дочерний кадр генерируется поверх предыдущего.На самом деле я решил эту проблему с помощью кода внутри функции деструктора ( del ).Но мне любопытно, почему в первом методе он не работает.

Заранее спасибо.

1 Ответ

2 голосов
/ 21 марта 2011

Попробуйте изменить порядок своих звонков в методе OnClose.Сначала установите вызов pubs, а последний - Close.Или просто используйте Destroy () в конце вместо Close ().

...