Seite 1 von 1

Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 08:14
von delphinis
Hallo,
ich möchte eine Hintegrund-App schreiben die nur Sichtbar wird, wenn ein Icon im System Tray angeklickt wird, um z.B. Einstellungen zu ändern.
Habe viel rumprobiert aber nichts hat so richtig funktioniert. Hat jemand ein Beispiel oder Tipps für so eine Anwendung?
Das Problem ist vor allem auch: Ich möchte alle 5 Minuten etwas tun. Aber die typischen Anwendungen mit Tkinter haben diese root.mainloop()
funktion. Wenn ich das richtig verstanden habe, reagiert die Anwendung dann nur noch auf Benutzereingaben über das GUI.

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 08:18
von __deets__
Das hast du falsch verstanden. Sie reagiert nur auf Ereignisse. Das können Eingaben des Benutzers sein. Aber auch Timer Events. Die du mit der after-Methode erstellen kannst.

Zu deinem anderen Problem kann ich aus dem Stand nix sagen.

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 08:24
von delphinis
Ok, dann würde das also erst mal auch mit Timer-Events funktionieren. Ich versuch das erst mal.
Nun müsste ich nur noch wissen, wie man das Hauptfenster versteckt und wieder hervorholt.

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 08:59
von SaberGFX
Zum zweiten Problem brauchst du Threads. Damit hast du dann mehrere unabhängige Prozesse die du ansteuern kannst.

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 09:02
von __deets__
SaberGFX hat geschrieben: Sonntag 5. Juli 2020, 08:59 Zum zweiten Problem brauchst du Threads. Damit hast du dann mehrere unabhängige Prozesse die du ansteuern kannst.
Großes, dickes NEIN. Threads und GUIs funktionieren nicht gut zusammen. Und der TE zeigt auch gleich in seinem nächsten Thema, das es in die Hose geht.

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 09:11
von SaberGFX
Ich arbeite etwas mit Threads in GUIs und hatte noch keine Probleme!

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 09:13
von delphinis
__deets__ hat geschrieben: Sonntag 5. Juli 2020, 08:18 Das hast du falsch verstanden. Sie reagiert nur auf Ereignisse. Das können Eingaben des Benutzers sein. Aber auch Timer Events. Die du mit der after-Methode erstellen kannst.
Finde diese after() Methode nicht, aber ich suche wohl im falschen package.
Welches package nutzt du denn?

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 09:25
von __deets__
Das ist schon in tkinter, dem toolkit das du benutzt. Und es wird hier auch andauernd besprochen.

Re: Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray

Verfasst: Sonntag 5. Juli 2020, 10:12
von __deets__
SaberGFX hat geschrieben: Sonntag 5. Juli 2020, 09:11 Ich arbeite etwas mit Threads in GUIs und hatte noch keine Probleme!
Ich trage keine Gurt, und bin noch nicht bei einem Autounfall gestorben....

GUIs funktionieren immer nur in einem Thread, meistens dem Main-Thread. Natürlich kann man Threads und GUIs kombinieren, wenn man weiß, wie. Da du das nicht erwähnst, weißt du offensichtlich nicht wie. Und hast bis dato einfach Glück gehabt. Deswegen ist es aber trotzdem nicht das richtige Vorgehen.