广东建设继续教育网站,网络规划设计师是高级项目经理吗,WordPress图片分页浏览,电商数据分析与数据化运营一.QDockWidget类概述
1.QDockWidget类
QDockWidget类提供了一个特殊的窗口部件#xff0c;它可以是被锁在QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。
QDockWidget类提供了dock widget的概念#xff0c;dock widget也就是我们熟悉的工具面板或者是工具窗口。Do…一.QDockWidget类概述
1.QDockWidget类
QDockWidget类提供了一个特殊的窗口部件它可以是被锁在QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。
QDockWidget类提供了dock widget的概念dock widget也就是我们熟悉的工具面板或者是工具窗口。Dock window是放置在QMindow窗口周围的dock widget区域中的。
如下图所示 Dock windows可以在几个区域中移动或者是悬浮。该类提供的API允许程序员限制dock widgets的移动悬浮和关闭以及它可以被放置的区域。
注意QDockWidget目前只有锁定在QMainWindow窗口内部才能展现出QDockWidget应有的属性如果将QDockWidget放到布局管理器当中那么就只能当作QWidget使用了。 2.QDockWidget功能和QSplitter类有一定的类似之处见之前文章
QSplitter分裂器的使用方法https://mp.csdn.net/mp_blog/creation/editor/138561130 二.QDockWidget常用方法
常用函数
1.addDockWidget添加停靠控件用于指定或更改停靠控件的位置以及方向。
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget)
void QMainWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget * dockwidget, Qt::Orientation orientation) 2.splitDockWidget分割窗口用于对两个QDockWidget进行水平或垂直布局。
void QMainWindow::splitDockWidget(QDockWidget * first, QDockWidget * second, Qt::Orientation orientation) 3.tabifyDockWidget合并窗口用于将多个QDockWidget叠加到同一区域。
void QMainWindow::tabifyDockWidget(QDockWidget * first, QDockWidget * second) 4.setDockNestingEnabled是否允许嵌套布局
void QMainWindow::setDockNestingEnabled(bool enabled) 三.demo
1.MyForm.h
#ifndef MYFORM_H
#define MYFORM_H #include ui_form.h #include QDockWidget class MyForm:public QDockWidget
{ Q_OBJECT
public: explicit MyForm(); ~MyForm();
private: Ui::Form *ui;
}; #endif // MYFORM_H 2.MyForm.cpp
#include MyForm.h
#include ui_form.h MyForm::MyForm():ui(new Ui::Form)
{ ui-setupUi(this);
} MyForm::~MyForm()
{ delete ui;
} 3.mywindow.h
#ifndef MYWINDOW_H
#define MYWINDOW_H #include QMainWindow namespace Ui {
class MyWindow;
} class MyWindow : public QMainWindow
{ Q_OBJECT public: explicit MyWindow(QWidget *parent 0); ~MyWindow(); private: Ui::MyWindow *ui;
}; #endif // MYWINDOW_H 4.mywindow.cpp
#include mywindow.h
#include ui_mywindow.h #include QTextEdit
#include QDockWidget
#include MyForm.h MyWindow::MyWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MyWindow)
{ ui-setupUi(this); QTextEdit *text new QTextEdit(); text-append(); setCentralWidget(text); QDockWidget *dockWidget1 new /*QDockWidget(A);*/ MyForm(); addDockWidget(Qt::LeftDockWidgetArea,dockWidget1); QDockWidget *dockWidget2 new QDockWidget(B); addDockWidget(Qt::RightDockWidgetArea,dockWidget2); QDockWidget *dockWidget3 new QDockWidget(C); addDockWidget(Qt::TopDockWidgetArea,dockWidget3); QDockWidget *dockWidget4 new QDockWidget(D); addDockWidget(Qt::BottomDockWidgetArea,dockWidget4);
} MyWindow::~MyWindow()
{ delete ui;
} 5.程序运行界面