GTK 小部件对话框未关闭
Posted
技术标签:
【中文标题】GTK 小部件对话框未关闭【英文标题】:GTK widget dialog does not close 【发布时间】: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,则可以对其进行检查以找到您的问题。 【参考方案1】:尝试使消息框成为模式对话框。
GtkWidget *dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Some text",
g_strerror (errno));
【讨论】:
以上是关于GTK 小部件对话框未关闭的主要内容,如果未能解决你的问题,请参考以下文章