在GTK2应用程序中,当某些事件发生时,可以调用用户定义的回调函数,例如:
static void on_destroy(GtkObject* o) {
gtk_main_quit();
}
int main(int argc, char * argv[]) {
...
g_signal_connect(window1, "destroy", G_CALLBACK(on_destroy), NULL);
...
}
回调函数的签名取决于信号或事件的类型。我正在寻找这些签名的简要概述,我在GTK+ 2.0 tutorial中找到了chapter about signals。但是,它似乎缺少GtkTreeview信号的回调签名,如row-activated
、select-cursor-row
等。
是否有其他来源描述了 all 回调签名的正确实现,最好是简明扼要的概述,而不是分散在几个章节中?
2条答案
按热度按时间y53ybaqx1#
您应该检查Gtk+ 2 Reference Manual
例如,示例中连接的销毁信号来自GtkWindow父类之一GtkObject
“摧毁”信号
void user_function (GtkObject *object, gpointer user_data)
检查相关信号和各自原型的树、列表控件:
https://developer-old.gnome.org/gtk2/stable/TreeWidgetObjects.html
注意:父类并不意味着多重继承,只是继承层次结构中上面的一个类。
tpgth1q72#
你需要学习如何使用官方帮助。在每个小部件帮助页面的顶部都有一个导航栏。在那里你可以直接链接到信号、对象层次结构(父类)等。
所以如果你要为一个小部件寻找一个特定的信号,你只要去到那个小部件的帮助页面,然后点击导航栏中的“signals”链接。如果信号不在那里,那么它一定在一个父类中。所以你点击“object hierarchy”链接,它会把你带到小部件的继承树。你点击它的父类,然后再次搜索信号。
或者,您也可以安装Linux发行版附带的
devhelp
帮助浏览器(或Windows版MSYS2),其中有一个搜索字段,您只需输入要查找的符号名称,包括信号。