自學QT之停靠窗口

至關一部分軟件界面上都會有一個停靠窗口,在不用的時候能夠移動調整大小,可是他不是分割實現的,而是停靠窗口。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()
{

}
運行後的結果如圖:

右側的停靠窗口能夠隨意移動,而且其它窗口會跟着自動調整。
繼承

相關文章
相關標籤/搜索