天天看點

Qt-可停靠視窗QDockwidget

Qt-可停靠視窗QDockwidget

mainwindow.h:

#ifndef MAINWINDOW_H      
#define MAINWINDOW_H      
#include<QMainWindow>      
#include<QToolBar>      
#include<QMenuBar>      
#include<QTextEdit>      
class MainWindow : public QMainWindow      
{      
Q_OBJECT      
QTextEdit *textEdit;      
QMenu *viewMenu;      
QToolBar *viewToolBar;      
void createDockWidget();      
public:      
MainWindow(QWidget *parent = 0);      
~MainWindow();      
};      
#endif // MAINWINDOW_H      
mainwindow.cpp:      
#include "mainwindow.h"      
#include<QDockWidget>      
#include<QCalendarWidget>      
MainWindow::MainWindow(QWidget *parent)      
: QMainWindow(parent)      
{      
textEdit = new QTextEdit;      
this->setCentralWidget(textEdit);      
viewMenu = menuBar()->addMenu(tr("視圖"));      
viewToolBar = this->addToolBar(tr(" "));      
createDockWidget();      
this->setWindowTitle(tr("停靠視窗"));      
}      
void MainWindow::createDockWidget()      
{      
QDockWidget *dock = new QDockWidget(this);      
dock->setWindowTitle(tr("日期"));      
dock->setAllowedAreas(Qt::AllDockWidgetAreas);      
QCalendarWidget *calendar = new QCalendarWidget;      
dock->setWidget(calendar);      
this->addDockWidget(Qt::RightDockWidgetArea,dock);      
viewMenu->addAction(dock->toggleViewAction());      
viewToolBar->addAction(dock->toggleViewAction());      
}      
MainWindow::~MainWindow()      
{      
}