2012-07-31 57 views
1

在此應用程序中,會生成HBoxLayouts列表並將其放入VBoxLayout中,以便形成動態填充的命令列表。每個子列表上方都有一個按鈕,可以隱藏其下方的控件。問題是:當子列表被隱藏時,包含最寬VBoxLayout的小部件的大小不會改變! VBoxLayout然後伸展補償。我希望容器小部件在包含較少項目時收縮! 它看起來像這樣:當內容部分隱藏時,在運行時調整包含QVBoxLayout的QWidget的大小

問題是,當我在其中一個PushButton下隱藏列表時,包含的小部件不會收縮!當有不太明顯的項目:(

這裏是我怎麼看我的小GUI畫面的VBoxLayout只是擴大

下面是從更廣泛的佈局設置一些代碼:

scrollArea = new QScrollArea(this); 
scrollAreaLayoutWidget = new QWidget(scrollArea); 
scrollAreaLayout = new QVBoxLayout(scrollAreaLayoutWidget); 
//scrollAreaLayout is filled with all the stuff you see inside the scroll area... 
scrollArea->setWidget(scrollAreaLayoutWidget); 

我試圖用很多方法來改變容器小部件的QSizePolicy(藍框),我發現了幾十個調整大小的問題,但我不知道怎麼回答。是否有一個我失蹤的神奇的自動調整大小設置? 讓我知道,如果這是痛苦的模糊或不完整。 歡迎任何評論!

+0

可能的重複[如何自動調整QDialog的大小取決於它的一個孩子的文本長度?](http://stackoverflow.com/questions/1675499/how-do-i-auto - 調節 - 該尺寸對的一-QDialog的-取決於 - 上的文本長度的酮O) – Trilarion 2014-06-17 11:04:56

回答

0

結果我所要做的就是創建一個自定義SLOT,當隱藏Ui的一部分的按鈕被點擊並隱藏該功能中的相關小部件時。在同樣的功能,我打電話[containerWidget]->adjustSize();,它正是我所尋找的。

相關問題