首页 > 其他 > 详细

一.QDockWidget使用

时间:2020-03-21 02:51:26      阅读:51      评论:0      收藏:0      [点我收藏+]

 

以前用QWidget来管理多窗口,略显乱。如果用QDockWidget来管理多窗口的话还是很好的,随意拖拽。还可以保持回复格局。

弄一个类继承qmainwindow

    QWidget* p = takeCentralWidget();   //删除中间那个

    if(p)

        delete p;

setUnifiedTitleAndToolBarOnMac(true);

    setDockNestingEnabled(true); //随便拖

 

//随便弄两个button

    QDockWidget *dock = new QDockWidget(("btn"), this);

            dock->setObjectName("btn");

    QPushButton *btn =new QPushButton(dock);

    btn->setText("btn");

    dock->setWidget(btn);

    dock->setFeatures(QDockWidget::AllDockWidgetFeatures);

    dock->setAllowedAreas(Qt::AllDockWidgetAreas);

    addDockWidget(Qt::LeftDockWidgetArea, dock);

 

    dock = new QDockWidget(("btn1"), this);

            dock->setObjectName("btn1");

    btn =new QPushButton(dock);

    btn->setText("btn1");

    dock->setWidget(btn);

    dock->setFeatures(QDockWidget::AllDockWidgetFeatures);

    dock->setAllowedAreas(Qt::AllDockWidgetAreas);

addDockWidget(Qt::LeftDockWidgetArea, dock);

 

 

//把格局读出来

    QFile file("Layout.ini");

    if (file.open(QIODevice::ReadOnly))

    {

        QByteArray ba;

        QDataStream in(&file);

        in >> ba;

        file.close();

        this->restoreState(ba);

    }

 

}

//把调整好的格局记录下来

MainWindow::~MainWindow()

{

    QFile file("Layout.ini");

    if (file.open(QIODevice::WriteOnly))

    {

        QDataStream out(&file);

        out << this->saveState();

        file.close();

    }

 

    delete ui;

}

一.QDockWidget使用

原文:https://www.cnblogs.com/fkess/p/12535776.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!