2012-09-10 49 views
2

在我的应用程序中,我有两个可以更改窗口布局的切换按钮。他们将删除或添加按钮,有效地改变总的请求大小。由于该窗口的Resizeable属性设置为false,通常该窗口会自动调整大小以适应其内容,无论它们是大于还是小于。如何在隐藏GTK#窗口时自动调整大小?

但是,如果我在隐藏窗口的同时更改布局,使其可见后窗口的尺寸将不会更改以适应布局。它会自动调整大小后我移动它。

//Code example 
Window.Hide(); 
ChangeLayout(Window); 
Window.Show(); 

我假设GTK跳过检查容器不可见时的大小更改。有没有办法迫使它重新计算它的大小?

谢谢。

P.S:似乎只发生在Windows中。也许这与操作系统有关?

+0

这是关于此问题的[GTK bug](https://bugzilla.gnome.org/show_bug.cgi?id=599214)。 –

回答

1

我没有Windows机器进行测试,但尝试这个作为一种解决方法:

Window.Hide(); 
ChangeLayout(Window); 
Window.Unrealize(); 
Window.Show(); 

您也可以尝试设置更改布局窗口前可调整大小,然后将它设置unresizable:

Window.Hide(); 
Window.Resizable = true; 
ChangeLayout(Window); 
Window.Resizable = false; 
Window.Show(); 
+0

'unrealize'对于我来说在Win 7上完全适用于pygtk – schlamar

相关问题