2011-01-11 113 views
1

我有一個窗口,它只包含一個groupbox,它在QVBoxLayout中包含多個groupbox(它們的內容不具有固定大小)。這些內部組合框是可檢查的,並且取消選中它們會摺疊它們(摺疊的組合框具有30px的減小(最大)高度並且isFlat == true)。縮小父窗口,而不是其他窗口小部件增長

我試圖實現的是: 當其中一個內部組合框被摺疊時,外部組合框和窗口應該相應地收縮(目前其他非摺疊組合框增長)。但是,用戶仍然應該能夠調整窗口的大小,這應引起groupboxes相應增長:

alt text 我與QWidget::setSizePolicy和不同的佈局/部件的QLayout::setSizeConstraint玩弄左右,但還沒有得出一個滿意的結果,但..
什麼是實現這一目標的最佳方式?這可以不用實現你自己的尺寸提示功能來完成嗎?

+0

我不是可用性專家,但這聽起來像一個壞主意。就個人而言,我不喜歡自動調整大小的窗口。 – Job 2011-01-11 10:06:15

+0

@工作:他們只會這樣做,如果你取消選中一個內部組合框。我可以選擇自動調整組大小和自動調整窗口大小......並且在我的情況下調整內部組框的大小是醜陋的,所以我想避免如果用戶只取消選中其中一個組框......如果用戶自己調整窗口的大小,我不能避免這種情況,但那很好,因爲它明顯的調整窗口大小意味着內容必須重新排列。 – smerlin 2011-01-11 11:19:53

回答

2

我通過調用

adjustSize(); 
父QGroupBox

調整內部QGroupBoxes後作出,似乎有您所需要的行爲的玩具案例。爲了方便起見,我製作了一個插槽,以便將它連接到調整內部組框的相同信號。

相關問題