在我的应用程序中,我有两个切换按钮,可以更改窗口的布局。他们将删除或添加按钮,有效地改变请求的总大小。由于该窗口的Resizeable属性设置为false,因此通常窗口会自动调整大小以适合其内容,无论它们是大于之前还是更小。
但是,如果在隐藏窗口时更改布局,则在使其可见后,窗口的尺寸将不会更改以适合布局。我移动后会自动调整大小。
//Code example
Window.Hide();
ChangeLayout(Window);
Window.Show();
我假设GTK跳过以检查容器不可见时的大小更改。有没有办法强迫它重新计算它的大小?
谢谢。
P.S:似乎只发生在Windows中。也许这与操作系统有关?
答案 0 :(得分:1)
我没有Windows机器来测试它,但尝试这个解决方法:
Window.Hide();
ChangeLayout(Window);
Window.Unrealize();
Window.Show();
您可能还尝试在更改布局之前将窗口设置为可调整大小,然后将其设置为不可调整:
Window.Hide();
Window.Resizable = true;
ChangeLayout(Window);
Window.Resizable = false;
Window.Show();