在哪里可以找到GTK中各种信号的回调函数原型?
我刚刚开始学习GTK+。但是,我在文档中找不到要点。即菜单上“激活”等信号的回调原型。 我知道可能会有一个标准的回调。但这并不清楚 这是菜单选择回调的正确原型吗在哪里可以找到GTK中各种信号的回调函数原型?,gtk,Gtk,我刚刚开始学习GTK+。但是,我在文档中找不到要点。即菜单上“激活”等信号的回调原型。 我知道可能会有一个标准的回调。但这并不清楚 这是菜单选择回调的正确原型吗 // Is this correct? It does appear to work. But I don't want to be sure so as to avoid any corruption static void menu_select(GtkMenu* menu, int item) { printf("menu
// Is this correct? It does appear to work. But I don't want to be sure so as to avoid any corruption
static void menu_select(GtkMenu* menu, int item)
{
printf("menu_activate: %d\n", item);
}
void build_menu()
{
// ...
login = gtk_menu_item_new_with_label("Login");
// ...
separator = gtk_separator_menu_item_new();
quit = gtk_menu_item_new_with_label("Exit");
// ...
g_signal_connect(G_OBJECT(login), "activate", G_CALLBACK(menu_select), GINT_TO_POINTER(0));
g_signal_connect(G_OBJECT(quit), "activate", G_CALLBACK(menu_select), GINT_TO_POINTER(1));
}
在文件中。类上的每一页都有一个列有信号的部分;每个信号都有自己的部分,从正确的原型开始。这是GTK+的哪个版本?是的,您的代码是错误的:最后一个参数的类型总是
gpointer
;您需要在回调函数中使用GPOINTER\u to_INT()
,才能正确地将INT
返回。(您现在拥有的将被破坏。不幸的是,没有GCallbacks的类型检查,但是c'est la c.)@andlabs-谢谢。然而,对于GTK菜单,我看到的文档页面中没有显示“激活”信号。我猜是在不同的层次?菜单的激活原型在哪里?你找错了类;你想要的,谢谢。。。现在有道理了。