0
所以,这里是我的代码:如何通过标签作为一个额外的回调函数的参数
#include <gtk/gtk.h>
void buttonCall(GtkWidget * widget1, GtkWidget * widget2){//gpointer data){
gtk_label_set_text(*label,"some other label");
}
int main(int argc, char **argv){
GtkWidget * window;
GtkWidget * frame;
GtkWidget * button;
GtkWidget * label;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
frame = gtk_fixed_new();
gtk_container_add(GTK_CONTAINER(window),frame);
button = gtk_button_new_with_label("button");
label = gtk_label_new("some label");
gtk_container_add(GTK_CONTAINER(frame),label);
gtk_fixed_put(GTK_FIXED(frame), label, 10,50);
gtk_container_add(GTK_CONTAINER(frame),button);
gtk_fixed_put(GTK_FIXED(frame), button, 10,100);
g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(buttonCall),&label);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
我基本上要点击一个按钮,改变我的标签上的文字。我认为通过传递标签的地址我可以做到这一点,但它不起作用。我的执行不正确?
任何帮助将不胜感激!谢谢!