4.浮动窗口
在Qt中,浮动窗口也称之为铆接部件。浮动窗口是通过QDockWidget类来实现浮动的功能。浮动窗口一般是位于核心部件的周围,可以有多个。
设置一个浮动窗口并添加控件

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDockWidget>
#include<QVBoxLayout>
#include<QLabel>
#include<QPushButton>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDockWidget* dockwidget = new QDockWidget();
    this->addDockWidget(Qt::LeftDockWidgetArea,dockwidget);
    //给他设置标题
    dockwidget->setWindowTitle("浮动窗口");
    //给浮动窗口添加一些控件,不能直接给浮动窗口添加子控件
    //而是需要创建一个QWidget,控件添加到这个QWidget中
    //然后再把QWidget设置到dockWidget中
    QWidget* container = new QWidget();
    dockwidget->setWidget(container);
    //创建布局管理器并设置到QWidget中
    QVBoxLayout* layout = new QVBoxLayout();
    container->setLayout(layout);
    //创建其它控件添加到layout中
    QLabel* label = new QLabel();
    QPushButton* pushbtn = new QPushButton("按钮");
    layout->addWidget(label);
    layout->addWidget(pushbtn);
    //设置浮动窗口允许停放的位置
    dockwidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::TopDockWidgetArea);
}
MainWindow::~MainWindow()
{
    delete ui;
}
浮动窗口是位于中心部件的周围。可以通过QDockWidget类中提供setAllowedAreas()函数设置其
允许停靠的位置。其中可以设置允许停靠的位置有:
- Qt::LeftDockWidgetArea:停靠在左侧
- Qt:RightDockWidgetArea:停靠在右侧
- Qt:TopDockWidgetArea:停靠在顶部
- Qt:BottomDockWidgetArea:停靠在底部
- Qt::AllDockWidgetAreas:以上四个位置都可停靠


















