GTK && std-Programme
-
Hallo,
Ich habe ein Problem :
Wenn ich in einem GTK-Programm z. B. 4 * while-Schleifen einbaue, die jeweils eine 2 Sekundige Wartezeit bewirken , so werden zuerst alle 4 while-Schleifen ausgeführt && dann erst die GTK-Programme , sprich erst dann werden die grafischen Objekte erstellt, obwohl die Reihenfolge im Code genau anders rum ist.
-
hmm???
kannst du es nochmal (verständlicher) erklären? Ein bisschen von deinem Code wäre auch nicht schlecht.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hm, zeig mal deinen Code.
Ohne den kann ich auch nur raten
-
Er hat sicher etwas wie:
Gtk::Window w; widgets_hinzufügen(); while() {} while() {} while() {} while() {} starte_gtk_loop_und_zeige_fenster(w);Dabei werden dir leider nur Threads helfen, oder - je nachdem was du brauchst - auch ein Timer, der eine Funktion alle X Milisekunden aufruft.
(Gibts beides in der Glib, die Gtk auch nutzt)Du könntest auch das Fenster vorher mit window.show() zeigen, aber dann hängt es so lange bis die Schleifen abgearbeitet wurden.
-
Code:
gtk_init(&..... ... GtkWidget *button = gtk_button_new_with_label("Button1"); GtkWidget *progressbar = gtk_progressbar_new(); .... gtk_widget_show_all(window); ( In dieser befinden sich alle oben erstellten grafischen Objekte : Button, Label, Image.. ) time_t timebegin = 0; time_t timeend = 0; gtk_progressbar_set_fraction(progressbar, 0.1); timebegin = time(NULL); timeend = timebegin + 2; while((time(NULL)) <= timeend); gtk_progressbar_set_fraction(progressbar, 0.2); timebegin = time(NULL); timeend = timebegin + 2; while((time(NULL)) <= timeend); .....