我很难将整数传递给回调函数,因为最后一个参数g_signal_connect
必须是指针。这是我将信号连接到回调的地方:
for (i=0;i<10;i++)
{
...
gtk_widget_set_events(tab_ebs[i],GDK_BUTTON_PRESS_MASK);
g_signal_connect (G_OBJECT (tab_ebs[i]), "button_press_event", G_CALLBACK (tab_clicked_cb), GINT_TO_POINTER(i));
}
这是回调:
void tab_clicked_cb (gpointer p)
{
printf("tab #%d clicked\n", GPOINTER_TO_INT(p));
}
我在标准输出中得到的是如下语句:
tab #6578976 clicked
tab #6579264 clicked
tab #6579552 clicked
tab #6579840 clicked
当我只有十个标签时。如何在 64 位系统上将整数传递给回调 fcn?谢谢。