我怎样才能解决一个问题;GtkDialog在没有瞬态父级的情况下映射”;如果我的对话框是最上面的窗口,则发出警告?

我怎样才能解决一个问题;GtkDialog在没有瞬态父级的情况下映射”;如果我的对话框是最上面的窗口,则发出警告?,gtk,gtk3,Gtk,Gtk3,我有一个程序,只需创建一个GtkDialog,然后在上面调用gtk_widget_show_all。实际上,GTKDialog充当程序的“主窗口” 一切似乎都正常工作,但我从GTK收到一条警告,说“GtkDialog映射没有临时父对象。这是令人沮丧的。“.我怎样才能解决这个问题?我是否需要创建一个不可见的窗口作为对话框的父窗口?问题是为什么使用GtkDialog而不是GtkWindow。警告是无害的,但将对话框作为主窗口是一种奇怪的设计选择。此程序是库演示的一部分,因此我认为它只是在展示如何以最

我有一个程序,只需创建一个GtkDialog,然后在上面调用gtk_widget_show_all。实际上,GTKDialog充当程序的“主窗口”


一切似乎都正常工作,但我从GTK收到一条警告,说“GtkDialog映射没有临时父对象。这是令人沮丧的。“.我怎样才能解决这个问题?我是否需要创建一个不可见的窗口作为对话框的父窗口?

问题是为什么使用GtkDialog而不是GtkWindow。警告是无害的,但将对话框作为主窗口是一种奇怪的设计选择。

此程序是库演示的一部分,因此我认为它只是在展示如何以最简单的方式创建对话框。无论如何,假设我想编写一个程序,只需要通过对话框向用户请求一些输入。除了对话框之外,我不希望有任何其他可见窗口。我是否仍应将程序结构设置为使对话框成为主窗口,还是有其他方式?在这种情况下,应使用GtkWindow而不是GtkDialog。您可以用几乎相同的方式构建UI—毕竟,GtkDialog是一个GtkWindow,其中有一个用于放置内容的框和一个用于控件的按钮框。问题是GtkDialog向窗口系统提示它已连接到另一个窗口;如果没有,则会破坏类的语义。