Pagina 1 di 1
[RISOLTO][C-GTK]problema aggiornamento GUI
Inviato: mercoledì 27 febbraio 2008, 22:14
da IacopoDeeNosee
ho un problema con l'aggiornamento della GUI in un programma che sto facendo utilizzando proprio le GTK,in pratica volevo fare in modo che durante un operazione la barra di progresso si muova ogni secondo finchè l'operazione non è conclusa tramite la funzione :
Codice: Seleziona tutto
gtk_progress_bar_pulse(GTK_PROGRESS_BAR(ProgressBar));
al momento il processo principale aggiorna la GUI mentre ho fatto un thread per gestire la barra di progresso,funziona tutto ma il problema è che la barra di progresso non viene aggiornata costantemente,il tempo di aggiornamento può variare da 1 secondo a 6 secondi,sembrerebbe a seconda del carico del processore ??? ora vorrei che l'aggiornamento avvenisse almeno ogni secondo in modo da avere un effetto più fluido,come posso agire?
BYE

Re: [C-GTK]problema aggiornamento GUI
Inviato: mercoledì 27 febbraio 2008, 22:18
da simo_magic
che cosa usi come contatore? nel senso: la variabile che contiene la percentuale della progressbar in che modo viene incrementata?
Re: [C-GTK]problema aggiornamento GUI
Inviato: mercoledì 27 febbraio 2008, 22:28
da IacopoDeeNosee
non utilizzo nessuna variabile per incrementare la barra di progresso,semplicemente la faccio andare avanti e indietro finché l'operazione non finisce,credo che sia possibile solamente specificare di quanti step sia composta la barra usando:
come posso rimediare?
se vuoi posso postare il codice del thread che gestisce la barra...
BYE

Re: [C-GTK]problema aggiornamento GUI
Inviato: giovedì 28 febbraio 2008, 21:18
da IacopoDeeNosee
per poter aggiornare la GUI ogni secondo ho usato questa funzione trovata nel
tutorial delle GTK stesse :-[
Codice: Seleziona tutto
TimerUpdateGUI = g_timeout_add (1000,UpdateGUI,NULL);
in pratica richiama una funzione(2° parametro) ogni tot di tempo(1° parametro in millisecondi),ora funziona tutto come volevo anche se in fase di compilazione mi restituisce un warning in questa chiamata ???
Main.c:87: warning: passing argument 2 of ‘g_timeout_add’ from incompatible pointer type
comunque metto risolto visto che funziona
