QT QDockWidget的使用

QDockWidget的使用

程序

//.h无改动
#ifndef DOCKWINDOWS_H
#define DOCKWINDOWS_H

#include <QMainWindow>

class DockWindows : public QMainWindow
{
    Q_OBJECT

public:
    DockWindows(QWidget *parent = 0);
    ~DockWindows();
};

#endif // DOCKWINDOWS_H

//.cpp
#include "dockwindows.h"
#include<QTextEdit>
#include<QDockWidget>

DockWindows::DockWindows(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle(tr("DockWindows"));
    QTextEdit*te=new QTextEdit(this);
    te->setText(tr("Main Window"));
    te->setAlignment(Qt::AlignCenter);//居中
    setCentralWidget(te);//将此窗口设置为主窗口的中央窗体
    //停靠窗口1
    QDockWidget *dock=new QDockWidget(tr("DockWindow"),this);
    dock->setFeatures(QDockWidget::DockWidgetMovable);//可移动
    dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);//左右停靠领域
    QTextEdit *tel =new QTextEdit();
    tel->setText(tr("Window1,..."));
    dock->setWidget(tel);
    addDockWidget(Qt::RightDockWidgetArea,dock);//将停靠窗口插入右侧
    dock=new QDockWidget(tr("DockWindow2"),this);
    dock->setFeatures(QDockWidget::AllDockWidgetFeatures);//设置特征全部
    QTextEdit *tel2 =new QTextEdit();
    tel2->setText(tr("Window2,..."));
    dock->setWidget(tel2);
    addDockWidget(Qt::RightDockWidgetArea,dock);
    dock=new QDockWidget(tr("DockWindow3"),this);
    dock->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable);//可关闭,可浮动
    QTextEdit *tel3 =new QTextEdit();
    tel3->setText(tr("Window3,..."));
    dock->setWidget(tel3);
    addDockWidget(Qt::RightDockWidgetArea,dock);


}

DockWindows::~DockWindows()
{

}

效果截图

在这里插入图片描述

发布了31 篇原创文章 · 获赞 3 · 访问量 297

猜你喜欢

转载自blog.csdn.net/weixin_44011306/article/details/105235151
今日推荐