【问题标题】:GTK widget dialog does not closeGTK 小部件对话框未关闭
【发布时间】:2016-10-22 10:24:12
【问题描述】:

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

    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(dialog) 没有调用。

附言我正在使用 Linux 64、eclipse、c++

【问题讨论】:

  • 虽然 gtk_message_dialog_new() 的参数有点不正确。在这种情况下太多了,通过添加所需的标题并使其成为一个完整的功能,它可以工作。如果您可以发布minimal reproducible example,则可以对其进行检查以找到您的问题。

标签: c++ linux dialog widget gtk


【解决方案1】:

尝试使消息框成为模式对话框。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    • 2015-01-22
    • 2010-12-13
    • 2010-10-18
    • 1970-01-01
    • 2018-08-08
    相关资源
    最近更新 更多