自学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()
{

}
运行后的结果如图:

右侧的停靠窗口能够随意移动,而且其它窗口会跟着自动调整。
继承

相关文章
相关标签/搜索