停靠窗口 QDockWidget 类

停靠窗口 QDockWidget 类也是在应用程序中经常用到的

以下实例:
窗口一只能在主窗口的右侧停靠
窗口二只能在浮动和右部停靠两种状态间切换
窗口三可以实现停靠窗口的各种状态

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

新建Qt Widgets Application ,项目名称为DockWidget

基类选择 QMainWindow

取消“创建界面”复选框选中状态

#include "mainwindow.h"
#include <QTextEdit>
#include <QDockWidget>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle("DockWindows");//设置标题栏文字
    QTextEdit *te = new QTextEdit(this);  //定义一个QTextEdit对象作为主窗口
    te->setAlignment(Qt::AlignCenter);
    setCentralWidget(te);  //将此编辑框设为主窗口的中央窗体

    QDockWidget *dock1 = new QDockWidget("DockQWindows1",this);
    dock1->setFeatures(QDockWidget::DockWidgetMovable);//设置可移动
	//QDockWidget::DockWidgetMovable     设置可移动
	//QDockWidget::DockWidgetClosable    设置可关闭
	//QDockWidget::DockWidgetFloatable   设置可浮动
	//QDockWidget::AllDockWidgetFeatures 设置全部特性
	//QDockWidget::NoDockWidgetFeatures  设置没有特性

    dock1->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
    QTextEdit *te1 = new QTextEdit(this);
    dock1->setWidget(te1);
    addDockWidget(Qt::RightDockWidgetArea,dock1);
	//Qt::LeftDockWidgetArea    设置做停靠
	//Qt::RightDockWidgetArea   设置右停靠
	//Qt::topDockWidgetArea     设置顶部停靠
	//Qt::BottomDockWidgetArea  设置底部停靠
	//Qt::AllDockWidgetArea     设置到处停靠
	//Qt::NoDockWidgetArea      只能停靠在插入处

    QDockWidget *dock2 = new QDockWidget("DockQWindows2",this);
    dock2->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable);//设置可关闭,可浮动
    dock2->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
    QTextEdit *te2 = new QTextEdit(this);
    dock2->setWidget(te2);
    addDockWidget(Qt::RightDockWidgetArea,dock2);

    QDockWidget *dock3 = new QDockWidget("DockQWindows3",this);
    dock3->setFeatures(QDockWidget::AllDockWidgetFeatures);//设置全部特性
    dock3->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
    QTextEdit *te3 = new QTextEdit(this);
    dock3->setWidget(te3);
    addDockWidget(Qt::RightDockWidgetArea,dock3);


}


发布了61 篇原创文章 · 获赞 3 · 访问量 1618

猜你喜欢

转载自blog.csdn.net/qq_43762191/article/details/104018983