天天看点

【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类

老规矩,给个目标实现以下:

【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类

这个可以改变成各种模样,如下:

【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类
【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类
【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类
【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类
【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类

代码展示,

首先创建一个项目,不要界面,选择基类是QMainWindow这个,后面名字的话随便改改

我的类名是:DockWindows

所以之后,只要在dockwindows.cpp里面加入两个头文件,等会要用的

#include <QTextEdit>
#include <QDockWidget>
           

然后就是这个文件的代码写成这个样,当然注释随你啦

#include "dockwindows.h"
#include <QTextEdit>
#include <QDockWidget>

DockWindows::DockWindows(QWidget *parent)
  : QMainWindow(parent)
{
  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("这个是第一个停靠窗体的文本控件显示  1===="));
  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("这个是第二个停靠窗体的文本控件显示  2====,好把乱码我不懂"));
  dock->setWidget(te2); //把文本控件放入到这个窗口里面
  addDockWidget(Qt::RightDockWidgetArea, dock);   //在主窗体中加入这个停靠窗口

  //停靠窗体3
  dock = new QDockWidget(tr("DockWindow3"), this); //这里设定这个窗体的名字
  dock->setFeatures(QDockWidget::AllDockWidgetFeatures);  //设定为全部特性,这里也可采用"|"的方式进行特性的设定(或的意思)
  QTextEdit *te3 = new QTextEdit();
  te3->setText(tr("这个是第三个停靠窗体的文本控件显示  3====,好把乱码我不懂"));
  dock->setWidget(te3); //把文本控件放入到这个窗口里面
  addDockWidget(Qt::RightDockWidgetArea, dock);   //在主窗体中加入这个停靠窗口
}

DockWindows::~DockWindows()
{

}
           

直接运行主函数,圆满结束。

话说最近我搞了一个Linux,我把它安装到了移动硬盘上,我在网上看了半天,还真没有吧CentOS 7装到移动硬盘上的全面教程,等我什么时候重装这个的时候,我就发个教程,这次太急了,没有照片不好发,哈哈,还是等我下次重装吧,这个应该用不了多久就会被我玩坏的,毕竟新手

【Qt5开发及实例】4、布局管理之停靠窗口QDockWidget类