Qt学习之路 代码(8)停靠窗口QDockWidget类的使用,创建了3个停窗口

   Qt学习之路 代码(8)停靠窗口QDockWidget类的使用,创建了3个停窗口

Qt学习之路 代码(8)停靠窗口QDockWidget类的使用,创建了3个停窗口


代码如下:

#include "dockwindow.h"

#include <QLineEdit>
#include <QDockWidget>
#include <QTextEdit>
//DockWindow类构造函数的实现
DockWindow::DockWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //主窗口的设置
    setWindowTitle(QObject::tr("DockWindow"));
    QTextEdit *te=new QTextEdit(this);
    te->setText(QObject::tr("Main window"));
    te->setAlignment(Qt::AlignCenter);
    setCentralWidget(te);
    //停靠窗口
    QDockWidget *dock=new QDockWidget(QObject::tr("DockWindow1"),this);
    //可移动
    dock->setFeatures(QDockWidget::DockWidgetMovable);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
    QTextEdit *tel=new QTextEdit();
    tel->setText(QObject::tr("Window1,the dok widget can be moved betwen docks by the user " ""));
    dock->setWidget(tel);
    addDockWidget(Qt::RightDockWidgetArea,dock);

    //停靠窗口2
    dock=new QDockWidget(QObject::tr("DockWindow2"),this);
    dock->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable);
    QTextEdit *te2=new QTextEdit();
    te2->setText(QObject::tr("Window2,the dok widget can be detached from the main window,and float as an independent window,and can be close "));
    dock->setWidget(te2);
    addDockWidget(Qt::RightDockWidgetArea,dock);

    //停靠窗口3
    dock=new QDockWidget(QObject::tr("DockWindow3"),this);
    dock->setFeatures(QDockWidget::AllDockWidgetFeatures);//all features
    QTextEdit *te3=new QTextEdit();
    te3->setText(QObject::tr("Window3,the dok widget can be closed,moved.and floated"));
    dock->setWidget(te3);
    addDockWidget(Qt::RightDockWidgetArea,dock);

}


DockWindow::~DockWindow()
{

}

显示结果为:

Qt学习之路 代码(8)停靠窗口QDockWidget类的使用,创建了3个停窗口