我有一個功能,我想隱藏按下按鈕。我已經讀過,我可以在一個信號上定義多個回調函數,它們將按照定義的順序調用。所以我想在按鈕按下時執行兩個函數,我希望其中的一個隱藏包含此按鈕的窗口。我試圖這樣做: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