0
Hier ist mein Code für einen einfachen Fortschrittsbalken mit GTK +, aber es scheint nicht zu aktualisieren. Ich bin mit Ubuntu 14.04. (Der Fehler wurde behoben, durch WAHR Rückkehr g_boolean so dass die Funktion aufgerufen wird)Fortschrittsbalken nicht aktualisiert mit C++ - Code und GTK +
//CodeGoes here
#include<gtk/gtk.h>
#include<cstring>
static float percentage =0.0;
static gboolean inc_prog(gpointer data){
percentage+=0.05;
if(percentage>1.0)
percentage=0.0;
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(data),percentage);
char ch[3];
sprintf(ch,"%d%%",static_cast<int>(percentage*100));
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(data),ch);
return TRUE; //Change Made Here
}
int main(int argc,char* argv[]){
gtk_init(&argc,&argv);
GtkWidget *window,*progress;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window,"delete-event",G_CALLBACK(gtk_main_quit),NULL);
progress=gtk_progress_bar_new();//define instance
g_timeout_add(300,inc_prog,progress);//delay of 300 ms
gtk_container_add(GTK_CONTAINER(window),progress);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
'ch' hat unzureichende Puffergröße. Es sollte mindestens 5 Elemente zum Speichern von "100%" haben. – MikeCAT
Sie haben nie einen Wert von 'inc_prog()' zurückgegeben. Details finden Sie in der Dokumentation von 'g_timeout_add()'. – andlabs
Das war hilfreich .. Danke @andlabs –