[GTKmm] Programm friert ein
-
Hallo,
Aufgrund einer lange dauernden Methode friert die gesamte Gui für diesen Vorgang ein.
Ich wollte deshalb einen kleinen seperaten Gtk::Dialog oder ähnliches starten, damit der user über eine Art Sanduhr bzw ProgressBar hat und dadurch eine Rückmeldung hat das dass Programm noch lebt.Wie könnte ich dies dann Anstellen?
Problem ist, das ich von dem Vorgang keine Rückmeldung habe wie weit er Fortgeschritten ist, ich bekomme lediglich am Ende eine "Fertig"-Meldung.Mein Programm läuft sowohl unter Linux & Windows und arbeitet via Netzwerksockets.
Für Tipps und Problemlösungen bin ich dankbar,
Wer mehr details haben will einfach fragen
-
Denke das du den blockierenden Teil der Anwendung eher in einen Thread auslagern solltest, der dann per event der GUI wiederum mitteilt wann er fertig ist.
-
Wie phlox schon sagte, nimmst du dafür am Besten einen Thread (Glibmm bietet hier welche an, sonst boost), der regelmäßig eine Rückmeldung an die GUI liefert, wie weit er ist. Ist an sich keine großartige Sache und sollte mit einem event leicht gelöst sein.
-
Sorry für meine Unwissenheit jedoch wie könnte man dies machen,
hättet ihr dort ggf ein Beispiel bzw einen hilfreichen Link?Meine Versuche bislang waren erfolglos Glib Thread zu implementieren.
Boost kommt nicht in Frage, da dies nur für diesen Zweck einfach zu umständlich wäre und ich mir somit eine weitere Lib mit ins Boot holen würde was ich eigtl nicht vorhabe.
Gruß jensa
-
Warum nicht bei GNOME selber vorbeischauen?
http://library.gnome.org/devel/glibmm/unstable/examples.html