winkle98
15th September 2011, 01:35
I have an QMainWindow that has no central widget. Based on suggestions here I've setDockNestingEnable(true) and set the dock widgets to allow Qt::AllDockWidgetAreas. For the most part this is working as desired. However, I'd like to line my dock widgets up 3 across.
i.e.
DockWidgetA DockWidgetB DockWidgetC
Is this possible?
ChrisW67
15th September 2011, 01:53
Yes, it's even the default behaviour (at least on Linux). What is the problem?
#include <QtGui>
#include <QDebug>
class MainWindow: public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *p = 0): QMainWindow(p) {
setGeometry(0, 0, 640, 480);
setDockNestingEnabled(true);
QDockWidget *dock1 = new QDockWidget(tr("Dock 1"), this);
dock1->setAllowedAreas(Qt::AllDockWidgetAreas);
QDockWidget *dock2 = new QDockWidget(tr("Dock 2"), this);
dock2->setAllowedAreas(Qt::AllDockWidgetAreas);
QDockWidget *dock3 = new QDockWidget(tr("Dock 3"), this);
dock3->setAllowedAreas(Qt::AllDockWidgetAreas);
addDockWidget(Qt::TopDockWidgetArea, dock1);
addDockWidget(Qt::TopDockWidgetArea, dock2);
addDockWidget(Qt::TopDockWidgetArea, dock3);
// No central widget
}
public slots:
private:
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow m;
m.show();
return app.exec();
}
#include "main.moc"
winkle98
23rd September 2011, 23:03
Thank you,
I missed one of the setAllowedAreas calls.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.