View Single Post
Old 02-03-2009, 16:06   #5
Damage92
Senior Member
 
L'Avatar di Damage92
 
Iscritto dal: Sep 2008
Città: Roma
Messaggi: 1382
Questo è un esempio di programma (main() contiene solo il codice di gtk).
Il warning che da è: warning: assignment discards qualifiers from pointer target type, ma non capisco cosa significa
Comunque usare solo i tipi delle gtk è una soluzione, però essendo il primo programma che scrivo volevo stare ancora sul facile...

Codice:
//questo lo compilo con: gcc -Wall -g prova.c `pkg-config --cflags --libs gtk+-2.0`

#include <gtk/gtk.h>

//funzione che prende il testo (ma a cosa serve il primo parametro? senza non funziona...)
void prendi_testo(GtkWidget *widget, GtkWidget *entry){

gchar *testo;
int numero;

testo=gtk_entry_get_text(GTK_ENTRY(entry)); //entry è il widget gtk
g_print("\ntesto: %s", testo); //qui stampa il testo correttamente
numero=(int)*testo; //warning: assignment discards qualifiers from pointer target type (??? O.o)
g_print("\nnumero: %d\n", numero); //qui stampa il valore errato (1=49, 2=50...10=49, 11=49, 20=50...)

}

//qui il codice delle gtk per creare la grafica
int main(int argc,char *argv[]){
gtk_init(&argc, &argv);

GtkWidget *entry;
entry=gtk_entry_new();
GtkWidget *window;
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkWidget *button;
button=gtk_button_new_with_label("prendi_testo");
GtkWidget *hbox;
hbox=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(hbox),entry,TRUE,FALSE,2);
gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,FALSE,2);

gtk_signal_connect (GTK_OBJECT (button), "clicked",
                        GTK_SIGNAL_FUNC (prendi_testo), (gpointer) entry);

gtk_container_add(GTK_CONTAINER(window),hbox);
gtk_widget_show_all(window);
gtk_main();

return 0;
}
Damage92 è offline   Rispondi citando il messaggio o parte di esso