Pergunta

Estou tentando aprender a executar um tópico do aplicativo GUI principal para fazer minha porta serial enviando/recebendo, mantendo minha GUI viva. Minhas melhores tentativas de pesquisas me levaram ao WXPYTHON WIKI ON: http://wiki.wxpython.org/longrunningtasks que fornece vários exemplos. Eu decidi aprender o primeiro exemplo, envolvendo o início de um tópico do trabalhador quando o botão específico é selecionado.

Estou tendo problemas para entender a definição de eventos personalizados:

def EVT_RESULT(win, func):
    """Define Result Event."""
    win.Connect(-1, -1, EVT_RESULT_ID, func)

class ResultEvent(wx.PyEvent):
    """Simple event to carry arbitrary result data."""
    def __init__(self, data):
        """Init Result Event."""
        wx.PyEvent.__init__(self)
        self.SetEventType(EVT_RESULT_ID)
        self.data = data

Principalmente o

def EVT_RESULT(win, func):
    """Define Result Event."""
    win.Connect(-1, -1, EVT_RESULT_ID, func)

Eu acho que o EVT_RESULT é colocado fora das aulas para torná-lo capaz de chamar as duas classes (tornando-o global?)

E .. o aplicativo GUI principal monitora o progresso do fio via:

# Set up event handler for any worker thread results
EVT_RESULT(self,self.OnResult)

Também noto que em muitos exemplos, quando o escritor usa

from wx import *

Eles simplesmente ligam as coisas por

EVT_SOME_NEW_EVENT(self, self.handler)

em oposição a

wx.Bind(EVT_SOME_NEW_EVENT, self.handler)

O que não me ajuda a entender mais rápido. Obrigado,

Foi útil?

Solução

O conteúdo foi devidamente indexado após você fez suas alterações?Dependendo de suas configurações de versão e ambiente, as novas permissões podem não entrar em vigor nos resultados da pesquisa até que o conteúdo seja rastreado.

Outras dicas

Esse é o estilo antigo de definir eventos personalizados. Ver O Guia de Migração Para maiores informações.

Retirado do Guia de Migração:

Se você criar seus próprios tipos de eventos personalizados e funções EVT_*, e deseja usá -los com o método de ligação acima, então você deve alterar seu EVT_* para ser uma instância de wx.PyEventBinder em vez de uma função. Por exemplo, se você costumava ter algo assim:

myCustomEventType = wxNewEventType()
def EVT_MY_CUSTOM_EVENT(win, id, func):
    win.Connect(id, -1, myCustomEventType, func)

Mude assim:

myCustomEventType = wx.NewEventType()
EVT_MY_CUSTOM_EVENT = wx.PyEventBinder(myCustomEventType, 1)

Aqui está outra postagem que fiz com alguns programas de exemplo que fazem exatamente o que você está procurando.

Uma opção é enviar o email Ativar a biblioteca de documentos onde você deseja enviar o arquivo e, em seguida, use este endereço de e-mail para enviar um e-mail para o servidor SharePoint e ele armazenará o relatório na biblioteca de documentos.Eu usei essa técnica no passado com um servidor SSRS não no modo integrado para entregar relatórios no cronograma para o SharePoint.

Isso pressupõe que o seu farm do SharePoint tenha um e-mail recebido configurado.

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