• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

GTK +应用程序未杀死

gtk 来源:Kachinsky 4次浏览

我有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(); 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)