Frage

Ich versuche zu lernen, wie man einen Thread von der Haupt -GUI -App ausführt, um meinen seriellen Port zu senden/zu empfangen, während ich meine GUI am Leben erhalten kann. Meine besten Googeln -Versuche haben mich beim WXPython Wiki aufgebracht: http://wiki.wxpython.org/longrunnunnnneds Dies liefert mehrere Beispiele. Ich habe mich dafür entschieden, das erste Beispiel zu lernen, wenn die bestimmte Taste ausgewählt wird.

Ich habe Probleme, die kundenspezifische Event-Definition zu verstehen:

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

In erster Linie der

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

Ich denke, EVT_RESULT wird außerhalb der Klassen platziert, um es von beiden Klassen aufrufen zu lassen (es global machen?)

Und .. Die Haupt -GUI -App überwacht den Fortschritt des Threads über:

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

Ich bemerke auch, dass in vielen Beispielen, wenn der Schriftsteller verwendet

from wx import *

Sie binden einfach Dinge durch

EVT_SOME_NEW_EVENT(self, self.handler)

im Gegensatz zu

wx.Bind(EVT_SOME_NEW_EVENT, self.handler)

Das hilft mir nicht, es schneller zu verstehen. Vielen Dank,

War es hilfreich?

Lösung

wurde der Inhalt ordnungsgemäß neu indexiert, nachdem Sie Ihre Änderungen getroffen haben?Je nach Ihren Versionen und Umgebungseinstellungen werden die neuen Berechtigungen möglicherweise nicht in den Suchergebnissen wirksam, bis der Inhalt gekrochen ist.

Andere Tipps

Das ist der alte Stil der Definition benutzerdefinierter Ereignisse. Sehen Der Migrationshandbuch für mehr Informationen.

Aus dem Migrationsleitfaden entnommen:

Wenn Sie Ihre eigenen benutzerdefinierten Ereignisstypen und EVT_* -Funktionen erstellen und in der Lage sein möchten, sie mit der obigen Bind -Methode zu verwenden, sollten Sie Ihre EVT_* so ändern, dass sie eine Instanz von sein wx.PyEventBinder statt einer Funktion. Zum Beispiel, wenn Sie früher so etwas hatten:

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

Ändern Sie es so:

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

Hier ist ein weiterer Beitrag dass ich mit ein paar Beispielprogrammen gemacht habe, die genau das tun, was Sie suchen.

Eine Option ist die E-Mail-Adresse Aktivieren Sie die Dokumentbibliothek, in der Sie die Datei senden möchten, dann verwenden Sie diese E-Mail-Adresse, um den SharePoint-Server per E-Mail zu senden und den Bericht in der Dokumentbibliothek zu speichern.Ich habe diese Technik in der Vergangenheit mit einem SSRS-Server verwendet, der nicht im integrierten Modus, um Berichte zum Zeitplan für SharePoint bereitzustellen.

Dies setzt voraus, dass Ihre SharePoint-Farm eingehende E-Mails konfiguriert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top