2013-01-31 65 views
4

我有一個使用了QScrollArea小部件的UI。 QScrollArea使用Flowlayout。我的問題是,當我添加小部件到我的佈局時,滾動區域開始滾動,並且當它有足夠的空間展開時不會展開。我希望滾動區域在第一個滾動條出現之前展開到極限。QScrollArea小部件未使用Flowlayout擴展

如何在滾動條出現之前讓滾動區域展開?

+0

QScrollArea所在的窗口小部件的佈局是什麼樣的?有佈局嗎? – MrFox

+0

@suslik'QScrollArea'位於'QFrame'小工具中。 – andre

回答

4

你能爭取你QScrollArea做setWidgetResizable(真)

ScrollArea-> setWidgetResizable(真);

+0

我已經有了這一套。 – andre

0

一對夫婦的建議:

  1. 確保滾動區域的大小政策本身正在擴大。
  2. 將滾動區域大小策略的「拉伸」值設置爲大於相同佈局中其他小部件值的值。即:

    QSizePolicy policy = pScrollArea->sizePolicy() 
    
    policy.setVerticalStretch(1); 
    policy.setHorizontalStretch(1); 
    

    這假定該滾動區域(如果有的話)的兄弟姐妹具有0(默認值)的拉伸值。

  3. 子類化滾動區域並覆蓋sizeHint()方法。

+0

感謝您的建議。我已經嘗試了1和2,很快就會在3上工作。 – andre