GTK小部件对话框未关闭

时间:2016-10-22 10:24:12

标签: c++ linux dialog widget gtk

我试图制作简单的消息框"用gtk对话。它的工作原理,但单击按钮时对话框不会关闭。 (我只使用gtk对话框。我的主窗口 - 不是gtkWindow,而是X11 Glx Window)。这是我的代码:

    gtk_init(&argc, &argv);

    GtkWidget *dialog = gtk_message_dialog_new (NULL,
                                     GTK_DIALOG_DESTROY_WITH_PARENT,
                                     GTK_MESSAGE_ERROR,
                                     GTK_BUTTONS_CLOSE,
                                     "Some text",
                                     g_strerror (errno));

    gtk_dialog_run(GTK_DIALOG (dialog));
    gtk_widget_destroy(dialog);

如果我点击"关闭"按钮 - 程序运行继续,小部件对话框失去焦点但没有关闭\隐藏。为什么?似乎没有调用gtk_widget_destroy(对话框)。

P.S。我使用的是Linux 64,eclipse,c ++

1 个答案:

答案 0 :(得分:0)

尝试将消息框设置为模式对话框。

GtkWidget *dialog = gtk_message_dialog_new (NULL,
                                     GTK_DIALOG_MODAL,
                                     GTK_MESSAGE_ERROR,
                                     GTK_BUTTONS_CLOSE,
                                     "Some text",
                                     g_strerror (errno));