2010-04-08 46 views

回答

1

从这里:

http://library.gnome.org/devel/gtkmm-tutorial/2.21/sec-connecting-signal-handlers.html.en ...

我们只是告诉你,该按钮的点击信号,期待调用不带参数的方法。所有的信号都有这样的要求 - 你不能用两个参数来挂钩一个没有期望的信号的函数(当然除非你使用了一个适配器,比如sigc :: bind())。因此,了解您希望连接到给定信号的信号处理器类型非常重要。

2

你可以在林间空地做什么是非常有限的。您可以将零个或一个对象作为userdata传递给信号处理程序。该对象必须是部件(或其他对象)也出现在空旷的项目。

如果你从代码连接信号,你可以传递一个包含各种东西的结构。

如果您自己创建信号,则可以利用编组器创建多少个参数(对于信号处理器原型),但仍然只是一个userdata参数。所以这不会让你指定更多的参数,然后连接信号,然后才调用它。

0

为什么不直接获得对应用程序加载时需要在事件处理程序中访问的每个对象的引用?如果您将这些引用存储为全局变量,那么您需要将多少个参数传递给事件处理函数并不重要。所有的Gtk Widgets都可以在你的功能中使用,然而你认为合适。

相关问题