Qt布局之管理
转载
QDockWidget::DockWidgetClosable
| 停靠窗可关闭
|
QDockWidget::DockWidgetMovable
| 停靠窗可移动
|
QDockWidget::DockWidgetFloatable
| 停靠窗可浮动
|
QDockWidget::DockWidgetVerticalTitleBar
| 标题栏垂直放置
|
QDockWidget::AllDockWidgetFeatures
| 可关闭、可移动、可浮动
|
QDockWidget::NoDockWidgetFeatures
| 不可关闭、不可移动、不可浮动
|
void setAllowedAreas ( Qt::DockWidgetAreas areas )
Qt::LeftDockWidgetArea
| 可在中央控件的左侧停靠
|
Qt::RightDockWidgetArea
| 可在中央控件的右侧停靠
|
Qt::TopDockWidgetArea
| 可在中央控件的顶部停靠
|
Qt::BottomDockWidgetArea
| 可在中央控件的底部停靠
|
Qt::AllDockWidgetAreas
| 可在中央控件的任意方向停靠
|
Qt::NoDockWidgetArea
| 只可停靠在插入处
|
dockwindows.h
#ifndef DOCKWINDOWS_H
#define DOCKWINDOWS_H
#include <QtGui>
class DockWindows : public QMainWindow
{
Q_OBJECT
public:
DockWindows(QWidget *parent = 0, Qt::WFlags flags = 0);
~DockWindows();
};
#endif // DOCKWINDOWS_H
dockwindows.cpp
#include "dockwindows.h"
#include <QDockWidget>
DockWindows::DockWindows(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
setWindowTitle(tr("Dock Windows"));
QTextEdit *edt = new QTextEdit(tr("Main Window"),this);
setCentralWidget(edt); //把edt设置为中心控件
//停靠窗口1:
QDockWidget *dockWidget1 = new QDockWidget(tr("Dock Window 1"),this);
dockWidget1->setFeatures(QDockWidget::DockWidgetMovable);
dockWidget1->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
QTextEdit *edt1 = new QTextEdit(tr("Window 1"));
dockWidget1->setWidget(edt1);
addDockWidget(Qt::RightDockWidgetArea,dockWidget1);
//停靠窗口2:
QDockWidget *dockWidget2 = new QDockWidget(tr("Dock Window 2"),this);
dockWidget2->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable);
QTextEdit *edt2 = new QTextEdit(tr("Window 2"));
dockWidget2->setWidget(edt2);
addDockWidget(Qt::LeftDockWidgetArea,dockWidget2);
//停靠窗口3:
QDockWidget *dockWidget3 = new QDockWidget(tr("Dock Window 3"),this);
dockWidget3->setFeatures(QDockWidget::AllDockWidgetFeatures);
QTextEdit *edt3 = new QTextEdit(tr("Window 3"));
dockWidget3->setWidget(edt3);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget3);
}
DockWindows::~DockWindows()
{
}