Pergunta

Se vários eventos são postados usando wxPostEvent / wxCallAfter do mesmo segmento por exemplo no clique de botão que é suposto ser processado no mesmo fim?

No exemplo abaixo wx.Callafter é usado para eventos de correios, que eventualmente irá chamar as funções de retorno de chamada, eles vão ser chamados mesma ordem, em que foram passados ??para wx.CallAfter

def onbutton(self, event):
    wx.CallAfter(func1)
    # some more code
    wx.CallAfter(func2)
Foi útil?

Solução

mensagens CallAfter os eventos para a fila de eventos e estes devem ser processados ??em ordem. Ainda assim, eles são processados ??em eventos ociosas, não com base na conclusão de função, de modo que o func2 para poderiam ser processados ??antes func1 é feito, dependendo do calendário de eventos ociosas (por exemplo wx.Yield, etc.) Há uma discussão sobre um problema com este aqui , e parece que ele pode ser espécie de complicado.

Outras dicas

Eu acredito que deve ser garantida. Eu tenho algum código que agarra dados da porta serial em um fio e dispara eventos para wx a alça. Mesmo quando a recepção de dados em 115kbps - onde ele iria, sem dúvida, disparar vários eventos antes que eles são processados ??-. Os dados mostram acima a fim quando wx chama meu manipulador para imprimir / logout os dados

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top