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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38784098/article/details/77579327

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布局可以关注我的一些其他博客,希望对各位有帮助


猜你喜欢

转载自blog.csdn.net/qq_38784098/article/details/77579327
今日推荐