1.
#include "dockwindow.h"
#include<QDockWidget>
#include<QTextEdit>
#include "ui_dockwindow.h"
DockWindow::DockWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::DockWindow)
{
ui->setupUi(this);
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);
//can move
dock->setFeatures(QDockWidget::DockWidgetMovable);
dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
QTextEdit *tel = new QTextEdit();
tel->setText(tr("Windown1,The dock widget can be moved between docks by the user" ""));
dock->setWidget(tel);
addDockWidget(Qt::RightDockWidgetArea,dock);
//2
dock=new QDockWidget(tr("DockWindowns2"),this);
dock->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable);
QTextEdit * te2=new QTextEdit();
te2->setText(tr("Windown2,The dock widget can be detached from the main window,""and floated as an independent window,and can be closed"));
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("Window3,The dock widget can be closed,moved,and floated"));
dock->setWidget(te3);
addDockWidget(Qt::RightDockWidgetArea,dock);
}
DockWindow::~DockWindow()
{
delete ui;
}
#ifndef DOCKWINDOW_H
#define DOCKWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class DockWindow; }
QT_END_NAMESPACE
class DockWindow : public QMainWindow
{
Q_OBJECT
public:
DockWindow(QWidget *parent = nullptr);
~DockWindow();
private:
Ui::DockWindow *ui;
};
#endif // DOCKWINDOW_H
/*CH302*/
#include "dockwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
DockWindow w;
w.show();
return a.exec();
}