Qt学习之路 代码(8)停靠窗口QDockWidget类的使用,创建了3个停窗口
代码如下:
#include "dockwindow.h"
#include <QLineEdit>
#include <QDockWidget>
#include <QTextEdit>
//DockWindow类构造函数的实现
DockWindow::DockWindow(QWidget *parent)
: QMainWindow(parent)
{
//主窗口的设置
setWindowTitle(QObject::tr("DockWindow"));
QTextEdit *te=new QTextEdit(this);
te->setText(QObject::tr("Main window"));
te->setAlignment(Qt::AlignCenter);
setCentralWidget(te);
//停靠窗口
QDockWidget *dock=new QDockWidget(QObject::tr("DockWindow1"),this);
//可移动
dock->setFeatures(QDockWidget::DockWidgetMovable);
dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
QTextEdit *tel=new QTextEdit();
tel->setText(QObject::tr("Window1,the dok widget can be moved betwen docks by the user " ""));
dock->setWidget(tel);
addDockWidget(Qt::RightDockWidgetArea,dock);
//停靠窗口2
dock=new QDockWidget(QObject::tr("DockWindow2"),this);
dock->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable);
QTextEdit *te2=new QTextEdit();
te2->setText(QObject::tr("Window2,the dok widget can be detached from the main window,and float as an independent window,and can be close "));
dock->setWidget(te2);
addDockWidget(Qt::RightDockWidgetArea,dock);
//停靠窗口3
dock=new QDockWidget(QObject::tr("DockWindow3"),this);
dock->setFeatures(QDockWidget::AllDockWidgetFeatures);//all features
QTextEdit *te3=new QTextEdit();
te3->setText(QObject::tr("Window3,the dok widget can be closed,moved.and floated"));
dock->setWidget(te3);
addDockWidget(Qt::RightDockWidgetArea,dock);
}
DockWindow::~DockWindow()
{
}
显示结果为: