QT 之QSplitter 切割視窗

2021-08-15 19:52:31 字數 1249 閱讀 4587

qt之切分視窗

qsplitter就是乙個可以包含一些其他視窗部件的部件。在切分視窗qsplitter中的這些視窗部件會通過切分條splitter handle而分割開來。使用者可以通過拖動這些分割條改變切分條中子視窗的大小。qsplitter中的子視窗部件將會自動按照建立時的順序乙個挨著乙個的放在一起,並且以切分視窗分割條來分割相鄰的視窗。下面是**例項

#include

int main(int argc, char *argv)

效果如下:

可以隨意改變各個視窗大小:

另外下面演示下使用多個splitter進行水平或者垂直方向上的巢狀。本**適用於《c++ gui qt4》

mailclient.cpp. 其介面布局部分**如下

//視窗布局

rightsplitter = new qsplitter(qt::vertical);

rightsplitter->addwidget(messagestreewidget);  //在右視窗中新增乙個郵件列表

rightsplitter->addwidget(textedit);                         //顯示文字郵件

rightsplitter->setstretchfactor(1, 1);                      //保證textedit伸展到多餘的空間

mainsplitter = new qsplitter(qt::horizontal);

mainsplitter->addwidget(folderstreewidget);

mainsplitter->addwidget(rightsplitter);

mainsplitter->setstretchfactor(1, 1);                     //使用兩個setstretchfactor保證了把多餘的額外空間都留給textedit

setcentralwidget(mainsplitter);

setwindowtitle(tr("mail client"));

效果如下圖:

QT 之QSplitter 切割視窗的兩種方法

視窗布局 rightsplitter new qsplitter qt vertical rightsplitter addwidget messagestreewidget 在右視窗中新增乙個郵件列表 rightsplitter addwidget textedit 顯示文字郵件 rightspl...

Qt學習 分割視窗QSplitter類

分割視窗在應用程式中經常用到,比如在類似資源管理器的視窗設計中 下面用 實現上面視窗的設計 1.建立專案時基類選擇qmainwindow,取消gernerate form核取方塊的選中狀態。2.在main.cpp中編寫如下 include include include int main int a...

Qt學習 分割視窗QSplitter類

分割視窗在應用程式中經常用到,比如在類似資源管理器的視窗設計中 下面用 實現上面視窗的設計 1.建立專案時基類選擇qmainwindow,取消gernerate form核取方塊的選中狀態。2.在main.cpp中編寫如下 view plain copy to clipboard print?inc...