1
我有GTK +在vs2010 C++ windows應用程序中工作。 它使用構建器從林間空地加載gui模板。GTK +應用程序未殺死
但是,當我使用十字圖標關閉窗口或右鍵單擊關閉任務欄 我的應用程序進程不會被終止。
我如何確保過程很好地被殺死?
我有GTK +在vs2010 C++ windows應用程序中工作。 它使用構建器從林間空地加載gui模板。GTK +應用程序未殺死
但是,當我使用十字圖標關閉窗口或右鍵單擊關閉任務欄 我的應用程序進程不會被終止。
我如何確保過程很好地被殺死?
關閉窗口不會終止進程,除非您設置了一個回調,該回調會在窗口刪除事件中退出Gtk +主循環。只有在您致電gtk_main_quit()
終止主循環後,應用程序纔會退出。
不知道C++如何結合GTK +的作品,但在C它會是這樣的(從GNOME website拍攝):
int main(int argc,
char *argv[])
{
GtkWidget * window;
gtk_init (&argc,&argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "delete-event",
G_CALLBACK (delete_event), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (destroy), NULL);
gtk_widget_show (window);
gtk_main();
}
然後回調:
static gboolean delete_event(GtkWidget *widget,
GdkEvent *event,
gpointer data)
{
g_print ("delete event occurred\n");
return FALSE;
}
static void destroy(GtkWidget *widget,
gpointer data)
{
gtk_main_quit();
}
你非常感謝! – Kachinsky 2012-03-22 14:31:04