Habe jetzt das gute Alte:
Code:
gtk_widget_set_object_name();
gefunden.
Code:
void c_clicked(GtkButton *button, gpointer user_data){
Int* array = user_data;
int value = array[atoi(gtk_widget_get_object_name(button))];
printf(%i\n", value);
}
void my_func( int anz, int *array){
...
char[2] buffer;
GtkWidget c_button[anz];
for(int i=0,i<=anz, i++){
sprintf(buffer,"%i",i);
c_button[i] = gtk_button_new_with_label ("textt);
gtk_widget_set_object_name(buffer);
g_signal_connect (c_button[i], "clicked", G_CALLBACK (b_clicked), array);
}
return 0;
}
Und kann auf extern verzichten.
Lesezeichen