2014-09-18 72 views
2

我有一个Gtk :: Box容器(maincontroller),里面有一个Gtk :: Grid(mainmenu)。我在maincontroller.cpp增加了一个信号是这样的:GTKmm为什么signal_hide()信号不能正确发射?

mainmenu->signal_hide().connect(
     sigc::mem_fun(this, &MainController::Elmozdulas) 
     ); 

当我在MainMenu的按一个键,我调用隐藏()函数,什么正常工作,我没有看到后什么,但它不会发出信号,只有当我关闭窗口。为什么是这样的,我该如何解决它?

感谢您的提前解答!

回答

0

您可能会考虑将其绑定到signal_unmap。我认为signal_hide只会在小部件被隐藏的情况下被调用,而不是其父母之一。如果实际上在主菜单的子菜单上调用了hide,而不是mainmenu本身,则不会触发这些菜单。在这种情况下,它看起来像主菜单一直被隐藏起来,但实际上仍然可见(并被映射和实现)。