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.
Hintergrund-App ohne sichtbare Oberfläche aber mit Icon in System Tray
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.
Zu deinem anderen Problem kann ich aus dem Stand nix sagen.
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.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.
Finde diese after() Methode nicht, aber ich suche wohl im falschen package.__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.
Welches package nutzt du denn?
Ich trage keine Gurt, und bin noch nicht bei einem Autounfall gestorben....SaberGFX hat geschrieben: Sonntag 5. Juli 2020, 09:11 Ich arbeite etwas mit Threads in GUIs und hatte noch keine Probleme!
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.