QT5布局管理--停靠窗口QDock Widget

1.创建一个QDockWidget对象,新建小项目

2.实例代码

#include "QDockWidgetdemo.h"
#include <QTextEdit>
#include <QDockWidget>
QDockWidgetdemo::QDockWidgetdemo(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	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("DockWindow1"), this);
	dock->setFeatures(QDockWidget::DockWidgetMovable);//可移动
	dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
	QTextEdit *te1 = new QTextEdit();
	te1->setText(tr("Window1,the dock widget can be moved between docks by the users"));
	dock->setWidget(te1);
	addDockWidget(Qt::RightDockWidgetArea, dock);//初始位置
	//停靠窗口2
	dock = new QDockWidget(tr("DockWindow2"), this);
	dock->setFeatures(QDockWidget::DockWidgetClosable| QDockWidget::DockWidgetFloatable);//可关闭可浮动
	QTextEdit *te2 = new QTextEdit();
	te2->setText(tr("Window2,the dock widget can be detached from the main window"));
	dock->setWidget(te2);
	addDockWidget(Qt::RightDockWidgetArea, dock);//初始位置
	//停靠窗口2
	dock = new QDockWidget(tr("DockWindow3"), this);
	dock->setFeatures(QDockWidget::AllDockWidgetFeatures);//全部特性
	QTextEdit *te3 = new QTextEdit();
	te3->setText(tr("Window2,the dock widget can be closed ,moved,and floted"));
	dock->setWidget(te3);
	addDockWidget(Qt::RightDockWidgetArea, dock);//初始位置

}
3.运行效果

注:控件属性补充

A.

setFeatures()

QDockWidget::DockWidgetMovable//可移动
QDockWidget::DockWidgetClosable//可关闭
QDockWidget::DockWidgetFloatable//可浮动
QDockWidget::AllDockWidgetFeatures//所有特性
QDockWidget::NoDockWidgetFeatures//不可移动,关闭,浮动
B.

setAllowedAreas()

Qt::LeftDockWidgetArea//主窗口左侧
Qt::RightDockWidgetArea//右侧
Qt::TopDockWidgetArea//顶端
Qt::BottomDockWidgetArea//底部
Qt::AllDockWidgetArea//任意位置
Qt::NoDockWidgetArea//只可停在插入处

对于QT布局可以关注我的一些其他博客,希望对各位有帮助


  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GlassySky0816

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值