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

来源:互联网 发布:360数据恢复软件比较差 编辑:程序博客网 时间:2024/05/17 23:03

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);//将此编辑框设为主窗口的中央窗口//停靠窗口1QDockWidget *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);//初始位置//停靠窗口2dock = 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);//初始位置//停靠窗口2dock = 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布局可以关注我的一些其他博客,希望对各位有帮助


原创粉丝点击