2014-04-11 74 views
0

我是新來的Qt,所以我啓動了一個項目使用的庫練習。我有兩個控件窗口:有固定大小的小部件的佈局裏面的Qt窗口

  • 列表窗口小部件(頂部)
  • 圖形視圖(底部)

它們在centralWidget佈局進行分組。

<?xml version="1.0" encoding="UTF-8"?> 
<ui version="4.0"> 
<class>MainWindow</class> 
<widget class="QMainWindow" name="MainWindow"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>660</width> 
    <height>412</height> 
    </rect> 
    </property> 
    <property name="windowTitle"> 
    <string>MainWindow</string> 
    </property> 
    <widget class="QWidget" name="centralWidget"> 
    <property name="enabled"> 
    <bool>true</bool> 
    </property> 
    <layout class="QVBoxLayout" name="verticalLayout"> 
    <item> 
    <widget class="QListWidget" name="listWidget"/> 
    </item> 
    <item> 
    <widget class="QGraphicsView" name="graphicsView"> 
     <property name="sizePolicy"> 
     <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> 
     <horstretch>0</horstretch> 
     <verstretch>100</verstretch> 
     </sizepolicy> 
     </property> 
     <property name="minimumSize"> 
     <size> 
     <width>0</width> 
     <height>100</height> 
     </size> 
     </property> 
    </widget> 
    </item> 
    </layout> 
    </widget> 
    <widget class="QMenuBar" name="menuBar"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>660</width> 
    <height>21</height> 
    </rect> 
    </property> 
    </widget> 
    <widget class="QToolBar" name="mainToolBar"> 
    <attribute name="toolBarArea"> 
    <enum>TopToolBarArea</enum> 
    </attribute> 
    <attribute name="toolBarBreak"> 
    <bool>false</bool> 
    </attribute> 
    </widget> 
    <widget class="QStatusBar" name="statusBar"/> 
</widget> 
<layoutdefault spacing="6" margin="11"/> 
<resources/> 
<connections/> 
</ui> 

控件隨着窗口增長,但它們沒有根據需要調整大小。所以我已經閱讀了Qt站點的文檔,沒有任何說明。以下是窗口如何調整大小的視頻。

https://www.youtube.com/watch?v=rDSxcKFILOE

請留意它能夠清楚地瞭解是什麼問題。

應該如何的事情發生?

當我水平調整窗口大小,一切都已經工作正常,這兩個控件成長與窗口/收縮。當我垂直調整窗口大小時,唯一應調整大小的控件是頂部的控件(ListView)。圖形視圖必須大小width: as the listview, height: 100

+0

修好了,不好意思 – Victor

回答

0

首先看到http://qt-project.org/doc/qt-4.8/qsizepolicy.html#Policy-enum

你需要什麼(似乎是這樣做)是將策略設置爲QSizePolicy::Fixed。但是,在您的視頻中,它顯示了在某些情況下,小部件仍會縮小。

爲了避免這種情況,請確保場景中的所有三個小部件都有適當的最小尺寸設置。

  • 將小部件的最小尺寸設置爲與最大尺寸相同。
  • 也許去除其他部件的高最小尺寸。
  • 如果需要,設置父窗口部件的最小尺寸。

有時Qt的佈局變得相當棘手,直到你得到你想要的。

相關問題