在GObject的参考手册,它表示为一个函数:GTK/GObject的detailed_signal参数
g_signal_connect(instance, detailed_signal, c_handler, data)
形式的 detailed_signal字符串参数 “信号名::细节”是期望的。我最初的理解是,有预定义的信号细节可以通过。如果是这种情况,我可以在哪里找到这些列表?如果不是,那究竟是什么意思,因为手册没有那么明显。
在GObject的参考手册,它表示为一个函数:GTK/GObject的detailed_signal参数
g_signal_connect(instance, detailed_signal, c_handler, data)
形式的 detailed_signal字符串参数 “信号名::细节”是期望的。我最初的理解是,有预定义的信号细节可以通过。如果是这种情况,我可以在哪里找到这些列表?如果不是,那究竟是什么意思,因为手册没有那么明显。
信号名称的::detail
部分是可选的。如果一个信号需要一个细节参数,那么它会在信号的文档中这样说。否则,你可以忽略它。
我知道的唯一信号实际上使用了一个细节参数,notify
信号GObject
。没有详细信息的notify
信号会在对象发生任何任何属性更改时触发,因此它相当无用。但是,如果连接到notify::visible
信号,则只要对象的visible
属性发生更改,它就会触发。
除非最近事情发生了很大变化,否则没有完整的正式的信号列表。预定义的信号完全取决于您正在使用的技术。
你可以做的是看你正在使用的GObject实例类的在线文档。例如,如果您使用的是GtkButton,则可以在线查找它并发现它发出六个信号(激活,点击,进入,离开,按下,释放)。 GtkButton是从GtkContainer派生而来的,它也发出了一些可能被GtkButton发送的记录信号。而GtkContainer是从GtkWidget派生而来的,它发出了许多可能由GtkButton发出的记录信号。
如果你找对象,还没有发出一种信号,你期待,你可能也看在该对象的源代码,因为有时物体发出的信号无证,