Unsolved dock mdi subwindow?
-
does anybody know how to dock a mdi subwindow and set its dockable areas?
#include <QtGui> #include <QBrush> #include <QMdiSubWindow> #include "ui_mainwindow.h" #include "mainwindow.h" #include "propertiesform.h" #include "screenform.h" MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->mdiArea->setBackground(QBrush(QColor(0,0,0,0))); setCentralWidget(ui->mdiArea); propertyWindow = loadSubWindow(new PropertiesForm(this)); screenWindow = loadSubWindow(new ScreenForm(this)); showSubWindow(propertyWindow); //some way to dock the window on the right? } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_actionClose_triggered() { this->close(); } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ToolBar ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void MainWindow::on_actionScreen_triggered() { showSubWindow(screenWindow); } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Loading Functions ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QMdiSubWindow *MainWindow::loadSubWindow(QWidget *widget) { auto window = ui->mdiArea->addSubWindow(widget); window->setWindowTitle(widget->windowTitle()); window->setWindowIcon(widget->windowIcon()); window->hide(); //window->setWindowFlags(Qt::FramelessWindowHint); return window; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Showing Functions ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void MainWindow::showSubWindow(QMdiSubWindow *subwindow) { if(!subwindow->isVisible()) subwindow->show(); else subwindow->hide(); }
-
Hi,
Aren't you mixing two different concepts ?
QMdiSubWindow and QDockWidget serve two different purposes.