繁体   English   中英

GTK隐藏窗口的回调

[英]Gtk hiding window on it's callback

我有一个想要在按下按钮时隐藏的功能。 我读过我可以在一个信号上定义多个回调,并且它们将按照定义的相同顺序被调用。 因此,我想在按下按钮时执行两个功能,并且我想其中之一隐藏包含此按钮的窗口。 我试图这样做:

g_signal_connect(btn_confirm, "clicked", G_CALLBACK(function_that_does_stuff), NULL);
g_signal_connect(btn_confirm, "clicked", G_CALLBACK(kill_window), add_conn_win);
...
void kill_window ( GtkWidget* wdgt, GtkWidget* win )
{
  gtk_widget_hide_all(win);
}

但这是行不通的。 窗还在。 有人可以告诉我该怎么做吗?

首先,请参阅文档中有关gtk_widget_hide_all()的内容

从2.24版开始,gtk_widget_hide_all已被弃用,不应在新编写的代码中使用

相反,您应该使用gtk_widget_hide() 规范说它

反转gtk_widget_show()的效果,导致小部件被隐藏(用户不可见)。

如评论所述,确保您的回调已被触发。 然后尝试

gtk_widget_hide (win);

我认为应该做的工作,如果有帮助,请告诉我!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM