ich versuche nun seit Stunden mit der ToasterBox-Klasse ein Popup zu erzeugen, was soweit auch prima klappt. Nur kann ich das ganze insgesamt nicht in mein Programm integrieren.
Eigentlich läuft die gesamte "GUI" über curses und es wird ein Netzwerkprotokoll ausgelesen und ich möchte nur, dass bei bestimmten Situationen über wxPython ein grafisches Popup (eben eine Toasterbox) erscheint. Probleme stellt offenbar jedoch der wx.Timer dar, denn ohne die MainLoop() von wx.PySimpleApp() läuft dieser nicht. Ich kann jedoch die MainLoop() nicht sinnvoll integrieren, da ich den Code des Programms nicht hauptlastig auf wxPython legen möchte.
Ich habe ebenso versucht, mit Threads einfach die ToasterBox aufzurufen und nach einem Timer (time.sleep(...)) mit box.GetToasterBoxWindow().ScrollDown() die Box zu schließen. Aber auch das führte zu wenig Erfolg seitens ScrollDown().
Das nächste Problem ist, dass durchaus mehrere ToasterBox'es erzeugt werden können, je nach Daten, die empfangen werden.
Daher meine Fragen:
Kann ich irgendwie die MainLoop() in einem Thread laufen lassen und erst danach(!) die ToasterBoxen initialisieren? (Dafür bräuchte ich aber ein nicht sichtbares Window, das ständig präsent ist, oder? Sonst kommt die MainLoop ja sofort zurück....)
In meinen simplen Versuchen ging's nicht (das nachträgliche Initialisieren: Keine Box zu sehen) und die Xlib verabschiedete sich beim Threading auch mit einem Xlib: unexpected async reply
Wie kann ich das überhaupt sinnvoll umsetzen? Ich will nicht mehr als diese Popups, für alles andere möchte und will ich kein wxPython verwenden. Gibt es vielleicht Alternativen, mit denen mach auch grafisch anspruchsvolle Popups machen kann?
Bitte befruchtet mich gedanklich

Grüße