Qt5布局管理專案示例

2021-07-05 22:53:44 字數 3589 閱讀 1495

專案1 分割視窗qsplitter類

介紹乙個十分簡單的分割視窗功能,整個對話方塊由三個視窗組成,各個視窗之間的大小可隨意拖曳改變

停靠視窗qdockwidget類也是應用程式中經常用到的,設定停靠視窗的一般流程如下。

main.cpp

#include

"mainwindow.h"

#include

#include

#include

int

main(int

argc,

char

*argv)

專案2 停靠視窗qdockwidget類

(1)建立乙個qdockwidget物件的停靠窗體。

(2)設定此停靠窗體的屬性,通常呼叫setfeatures()及setallowedareas()兩種方法。

(3)新建乙個要插入停靠窗體的控制項,常用的有qlistwidget和qtextedit。

(4)將控制項插入停靠窗體,呼叫qdockwidget的setwidget()方法。

(5)使用adddockwidget()方法在mainwindow中加入此停靠窗體。

dockwindows.cpp

#include

"dockwindows.h"

#include

#include

dockwindows::dockwindows(qwidget

*parent)

:

qmainwindow(parent)

dockwindows::~dockwindows()
專案3 堆疊窗體qstackedwidget類

stackedlg.h

#ifndef

stackdlg_h

#define

stackdlg_h

#include

#include

#include

#include

class

stackdlg

:public

qdialog

;
#endif

//stackdlg_h

stackedlg.cpp

#include

"stackdlg.h"

#include

//水平顯示布局

stackdlg::stackdlg(qwidget

*parent)

:

qdialog(parent)

stackdlg::~stackdlg()
專案4 基本布局(qlayout)

addwidget()方法用於向布局中加入需要布局的控制項,addwidget()的函式原型如下:

void addwidget

(qwidget*widget,             //需要插入的控制項物件

int  fromrow,                  //插入的行

int  fromcolumn,             //插入的列

int  rowspan,                  //表示占用的行數

int  columnspan,             //表示占用的列數

qt::alignment  alignment=0    //描述各個控制項的對齊方式

)addlayout ()方法用於向布局中加入需要布局的子布局,addlayout ()的函式原型如下:

void addlayout

(qlayout*layout,                        //表示需要插入的子布局物件

introw,                                     //插入的起始行

intcolumn,                                //插入的起始列

int rowspan,                            //表示占用的行數

int columnspan,                       //表示占用的列數

qt::alignment alignment=0       //指定對齊方式

)本例項共用到四個布局管理器,分別是

leftlayout

、rightlayout

、bottomlayout

和mainlayout

,其布局框架如圖所示

Qt5之柵格布局

1 建立柵格布局物件 2018年6月24日 23 22 02 改為柵格布局 gridlayout new qgridlayout 2 設定控制項位置 選單欄,0行0列 佔 1行 11列 gridlayout addwidget topmenubar,0,0,1,10 工具欄按鈕部分 for int ...

QT5布局管理 停靠視窗QDock Widget

1.建立乙個qdockwidget物件,新建小專案 2.例項 include qdockwidgetdemo.h include include qdockwidgetdemo qdockwidgetdemo qwidget parent qmainwindow parent 3.執行效果 注 控制...

QT5入門之29 布局管理器

1.布局 layouts 窗體上的每個控制項都需要有乙個合適的尺寸和位置,從而設計出合理 美觀的介面。qt中有三種方式對窗體上的控制項進行布局管理,分別是 絕對布局 手工布局和qt布局管理器。2.絕對布局 絕對布局很簡單,控制項的位置是固定的,控制項不會隨著視窗大小的變化而變化。由於控制項大小不變,...