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:以上四个位置都可停靠