?
?
Demo的效果
?
?
?
?
?
?
?
?
頭文件中的變量聲明
?
//退出動作QAction* exit;//菜單欄菜單QMenu* filemenu;QMenu* actiona;//在狀態欄的標簽控件QLabel* label;//兩個停靠窗口QDockWidget *dockwidget;QDockWidget *dockwidget_textbox;
?
?
CPP源文件中的對象定義
//創建+初始化按鈕,將要放到第一個窗口內QPushButton *button=new QPushButton(tr("Exit"),this);QObject::connect(button,SIGNAL(clicked()),this,SLOT(close()));//創建+初始化,放到第二個窗口QTextEdit * textbox=new QTextEdit;//創建兩個停靠窗口對象,停靠在this窗口dockwidget=new QDockWidget(this);dockwidget_textbox=new QDockWidget(this);
?
設置停靠窗口的停靠邊允許,內部空間和窗口標題
//允許停靠到四個邊的dockwidget停靠窗口dockwidget->setWindowTitle(tr("dockwidget_button"));dockwidget->setAllowedAreas(Qt::AllDockWidgetAreas);dockwidget->setWidget(button);//允許停靠到左和下邊的停靠窗口dockwidget_textbox->setWindowTitle(tr("dockwidget_textbox"));dockwidget_textbox->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::BottomDockWidgetArea);dockwidget_textbox->setWidget(textbox);
?
初始化時窗口的配置和動作對其實現顯示與隱藏
//初始化把停靠窗口顯示到左邊和底邊上this->addDockWidget(Qt::LeftDockWidgetArea,dockwidget);this->addDockWidget(Qt::BottomDockWidgetArea,dockwidget_textbox);//設置菜單欄動作使其控制停靠窗口的顯示與隱藏this->actiona->addAction(dockwidget_textbox->toggleViewAction());this->actiona->addAction(dockwidget->toggleViewAction());
?
?
demo的源碼:http://pan.baidu.com/s/1jGAm1T0
?