2014-07-09 140 views
0

我目前在我的表格中有以下結構 我有一個QFrame(布朗),有一個QScrollArea。現在多個QFrames被動態添加到QScrollArea(灰色)。動態添加的QFrame由QLabel組成。防止QScrollArea顯示水平滾動條

enter image description here

現在,這裏是我的QScrollArea禁用水平滾動條的問題。因此水平滾動條不顯示。問題是當動態添加的QFrame(灰色)被添加到QScrollArea時。一半的框架被切斷。這是因爲我無法水平滾動。我想要的是動態添加的Qframe垂直擴展而不是水平擴展。有什麼建議麼 ?

更新: 我有一個QVBoxLayout的QScrollArea

+0

你如何添加內部框架?你有'QScrollArea'裏面的佈局嗎?如果不是,請考慮添加它。 – SingerOfTheFall

+0

是的,我在QScrollArea裏面有一個QVBoxLayout – Rajeshwar

+0

然後你應該弄亂幀的大小策略。對於水平尺寸政策,請嘗試「固定」,對垂直方向嘗試「最低展開」或類似的東西 – SingerOfTheFall

回答

0

設置適當的水平尺寸政策的動態創建的幀,而他們創造的內部。一個選項是固定大小(QSizePolicy ::固定),另一個是QSizePolicy ::最大(它不是很直觀,但實際上最大意味着該框架將不會大於sizeHint()指定的大小函數)。如果您希望小部件垂直展開,請將垂直尺寸政策設置爲QSizePolicy :: MinimumExpandingQSizePolicy ::展開式 - 無論適用於您。