qstackedlayout類提供了一堆小部件,其中一次僅乙個小部件可見。
qstackedlayout可用於建立類似於qtabwidget提供的使用者介面。基於qstackedlayout還構建了乙個便利的qstackedwidget類。
通過乙個小例子來介紹基本使用方法,效果如下
qstackedlayout可以填充許多子視窗小部件(「頁面」)。例如:
qwidget *firstpagewidget =
new qwidget;
qwidget *secondpagewidget =
new qwidget;
qwidget *thirdpagewidget =
new qwidget;
qstackedlayout *stackedlayout =
new qstackedlayout;
stackedlayout-
>
addwidget
(firstpagewidget)
; stackedlayout-
>
addwidget
(secondpagewidget)
; stackedlayout-
>
addwidget
(thirdpagewidget)
; qvboxlayout *mainlayout =
new qvboxlayout;
mainlayout-
>
addlayout
(stackedlayout)
;setlayout
(mainlayout)
;
qstackedlayout沒有為使用者提供切換頁面的內建方法。通常,這是通過qcombobox或qlistwidget完成的,該qcombobox或qlistwidget儲存qstackedlayout頁面的標題。例如:
qcombobox *pagecombobox =
new qcombobox;
pagecombobox-
>
additem(tr
("page 1"))
; pagecombobox-
>
additem(tr
("page 2"))
; pagecombobox-
>
additem(tr
("page 3"))
;connect
(pagecombobox,
signal
(activated
(int))
, stackedlayout,
slot
(setcurrentindex
(int))
);
stackingmode有兩個值,乙個是stackone(預設-顯示乙個頁面),乙個是stackall(顯示所有頁面),一般不使用。
[1] qt助手
[2]
Qt之表單布局(QFormLayout)
qformlayout管理輸入型控制項和關聯的標籤組成的那些form表單。qformlayout是乙個方便的布局類,其中的控制項以兩列的形式被布局在表單中。左列包括標籤,右列包含輸入控制項,例如 qlineedit qspinbox等。我們可以通過addrow const qstring label...
Qt 之格柵布局(QGridLayout)
qgridlayout 格柵布局,也被稱作網格布局 多行多列 柵格布局將位於其中的視窗部件放入乙個網狀的柵格之中。qgridlayout需要將提供給它的空間劃分成的行和列,並把每個視窗部件插入並管理到正確的單元格。柵格布局是這樣工作的 它計算了位於其中的空間,然後將它們合理的劃分成若干個行 row ...
Qt之表單布局(QFormLayout)
qformlayout管理輸入型控制項和關聯的標籤組成的那些form表單。qformlayout是乙個方便的布局類,其中的控制項以兩列的形式被布局在表單中。左列包括標籤,右列包含輸入控制項,例如 qlineedit qspinbox等。我們可以通過addrow const qstring label...