我试图i
从我的回调功能打印控制台上的变量的值,但不是打印23它继续打印一些地址11652528等...
我一直在网上搜索很多,并根据旧的GTK教程(实际的G_CALLBACK
宏是GTK_SIGNAL_FUNC
),这应该工作.
有没有人知道错误在哪里?
#include <stdlib.h>
#include <gtk/gtk.h>
#include <string.h>
void f_window(GtkWidget* widget, gpointer data)
{
g_print("%d\n",GPOINTER_TO_INT(data));
}
int main(int argc, char **argv)
{
gint i=23;
GtkWidget * MainWindow = NULL;
gtk_init(&argc, &argv);
MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(MainWindow),"delete-event",G_CALLBACK(f_window),GINT_TO_POINTER(i));
gtk_widget_show_all(MainWindow);
gtk_main();
gtk_exit(EXIT_SUCCESS);
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
先感谢您!!!