我有一个功能,我想隐藏按下按钮。我已经读过,我可以在一个信号上定义多个回调函数,它们将按照定义的顺序调用。所以我想在按钮按下时执行两个函数,我希望其中的一个隐藏包含此按钮的窗口。我试图这样做:Gtk隐藏窗口的回调
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);
}
但这是行不通的。窗户仍在那里。有人能告诉我该怎么做吗?第一
你如何显示窗口?你有没有检查你的回调是否被触发?从代码片段中,它听起来像窗口被用作对话框。如果是这样,你有没有尝试过使用GtkDialog?最后,你可能不想使用_hide_all,因为这会将窗口中的所有小部件标记为隐藏,这可能不是你想要做的 – iain