QT窗口停靠使用案例

#include "mainwindow.h"
#include<QTextEdit>
#include<QDockWidget>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle(QObject::tr("DockWindows"));
    resize(QSize(600,480));
    //设置一个TextEdit作为主窗口
    QTextEdit *mainText = new QTextEdit(this);
    mainText->setText(tr("Main Window"));
    mainText->setAlignment(Qt::AlignCenter);
    setCentralWidget(mainText);//设置此编辑框作为中央窗体
    //停靠窗口1
    QDockWidget *dock = new QDockWidget(tr("DockWindow1"),this);
    dock->setFeatures(QDockWidget::DockWidgetMovable);
    dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
    QTextEdit *edit1=new QTextEdit();
    edit1->setText(tr("Window1,此窗口可被移动,只可停靠在右边"));
    dock->setWidget(edit1);
    addDockWidget(Qt::RightDockWidgetArea,dock);
    //停靠窗口2
    dock = new QDockWidget(tr("DockWindow2"),this);
    dock->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetFloatable);//设置可关闭,可浮动
  //  dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
    QTextEdit *edit2=new QTextEdit();
    edit2->setText(tr("Window2,此窗口可被关闭,可浮动。只可停靠在右边"));
    dock->setWidget(edit2);
    addDockWidget(Qt::RightDockWidgetArea,dock);
    //停靠窗口3
    dock = new QDockWidget(tr("DockWindow3"),this);
    dock->setFeatures(QDockWidget::AllDockWidgetFeatures);//设置可关闭,可浮动
    dock->setAllowedAreas(Qt::AllDockWidgetAreas);
    QTextEdit *edit3=new QTextEdit();
    edit3->setText(tr("Window3,此窗口拥有停靠窗口的所有特性,且可停靠在所有地方"));
    dock->setWidget(edit3);
    addDockWidget(Qt::RightDockWidgetArea,dock);


}


MainWindow::~MainWindow()
{


}

猜你喜欢

转载自blog.csdn.net/hlw0522/article/details/53141757