至關一部分軟件界面上都會有一個停靠窗口,在不用的時候能夠移動調整大小,可是他不是分割實現的,而是停靠窗口。windows
新建一個工程,名字隨便取好了,類名爲:dockwindows.cpp繼承的基類保持mainwindow不變,取消界面選項。this
在dockwindows.cpp文件中添加如下代碼:code
#include "dockwindows.h" #include <QTextEdit> #include <QDockWidget> DockWindows::DockWindows(QWidget *parent) : QMainWindow(parent) { setWindowTitle("dockwindows"); QTextEdit *text=new QTextEdit(this); text->setAlignment(Qt::AlignCenter); text->setText("主窗口"); setCentralWidget(text); //第一個停靠窗口 QDockWidget *dock=new QDockWidget("個人dock窗口",this); dock->setFeatures(QDockWidget::DockWidgetMovable); QTextEdit *te1=new QTextEdit(); te1->setText("該dock窗口能夠被用戶移動"); dock->setWidget(te1); addDockWidget(Qt::RightDockWidgetArea,dock); //第二個停靠窗口 dock=new QDockWidget("個人第二個dock窗口"); QTextEdit *te2=new QTextEdit(); te2->setText("這裏是第二個窗口"); dock->setWidget(te2); addDockWidget(Qt::RightDockWidgetArea,dock); //第三個dock窗口 dock=new QDockWidget("這裏是第三個dock窗口"); dock->setFeatures(QDockWidget::AllDockWidgetFeatures); QTextEdit *te3=new QTextEdit("這裏是第三個"); dock->setWidget(te3); addDockWidget(Qt::RightDockWidgetArea,dock); } DockWindows::~DockWindows() { }運行後的結果如圖:
右側的停靠窗口能夠隨意移動,而且其它窗口會跟着自動調整。
繼承