2012-09-10 50 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

相關問題