C windowwon';t最大化“当”;设置“U可调整大小”;为假一次(GTK3)

C windowwon';t最大化“当”;设置“U可调整大小”;为假一次(GTK3),c,gtk3,C,Gtk3,当我创建一个新窗口并将函数gtk\u window\u set\u resizeable设置为false时,gtk\u window\u maximize将不再最大化窗口,即使我再次将gtk\u window\u set\u resizeable设置为true。它确实会触发一个“大小分配”事件。如何正确地最大化窗口 例如: // Create function GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set

当我创建一个新窗口并将函数
gtk\u window\u set\u resizeable
设置为false时,
gtk\u window\u maximize
将不再最大化窗口,即使我再次将
gtk\u window\u set\u resizeable
设置为true。它确实会触发一个
“大小分配”
事件。如何正确地最大化窗口

例如:

// Create function
GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_resizable(GTK_WINDOW(win), false);
gtk_widget_show_all(win);

// Maximize function
gtk_window_set_resizable(GTK_WINDOW(win), true);
gtk_window_maximize(GTK_WINDOW(win)); // This doesn't maximize the window

我正在使用XFCE 4和GTK+3.18在Debian上运行此测试。

这只是一个猜测,但在显示窗口后可能无法更改其设置?@wowofbob当我调用
GTK\u window\u set\u resizeable(..,true)
时,最大化装饰确实再次显示出来。我也可以按下它,然后它会正确地最大化,但是
gtk_window_maximize
不会工作。如果你调用gtk_widget_hide(gtk_widget(win)),它会工作吗;在设置可调整大小和gtk_小部件显示全部(gtk_小部件(win))之前;在窗口之后?如果是这样,它可能是Gtk或您的窗口管理器中的错误(如果是,请报告错误)@StianSkjelstad这会正确地最大化窗口。我将提交错误报告,谢谢!这只是一个猜测,但可能在显示窗口后无法更改其设置?@wofbob当我调用
gtk\u window\u set\u resizeable(..,true)
时,最大化装饰确实会再次显示。我也可以按下它,然后它会正确地最大化,但是
gtk_window_maximize
不会工作。如果你调用gtk_widget_hide(gtk_widget(win)),它会工作吗;在设置可调整大小和gtk_小部件显示全部(gtk_小部件(win))之前;在窗口之后?如果是这样,它可能是Gtk或您的窗口管理器中的错误(如果是,请报告错误)@StianSkjelstad这会正确地最大化窗口。我将提交错误报告,谢谢!