2010-04-08 44 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都可以在你的功能中使用,然而你認爲合適。

相關問題