天天看點

【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類