2010-10-21 27 views
1

我的小部件有時會出現和消失的子部件。 現在隱藏了一個孩子後,我打電話給adjustSize()將主小部件的大小調整爲可能的最小值。自動adjustSize()

如何在佈局中顯示/隱藏兒童時自動調用adjustSize()? 我試着設置sizePolicyQSizePolicy::Minimum但這並不能幫助......

回答

1

當你調用

QWidget::setVisibility(true/false) 
QWidget::hide() 
QWidget::show() 

它產生一個showEvent或hideEvent看到文檔here。所以,你可以做的是在widget上安裝一個eventFilter來檢查showEvent何時被調用,然後在需要時調用adjustSize。

有關事件過濾器的詳細信息,請參閱文檔here

希望有所幫助。