QMainWindow
菜单栏 QMenuBar * bar = MenuBar() 只能最多有一个
把这个栏添加到 窗口中 setMenuBar
添加菜单 addMenu(文件)
文件里添加菜单项 addAction(新建) 返回QAction
添加分隔符 addSeparator
工具栏 可以有多个
tBar = new QToolBar
addToolBar( 默认停靠位置,tBar)
设置 停靠、浮动、移动
添加菜单项
状态栏 statusBar 只能一个
左侧添加
右侧添加
铆接部件 可以多个
QDockWidget
addDockWidget(默认位置,。。)
设置后期的停靠位置
核心部件 只能一个
setCentralWidget
main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QLabel>
#include <QStatusBar>
#include <QDockWidget>
#include <QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600, 400);
//包含一个菜单栏,只能有一个,类似于文件/编辑/构建/调试....
QMenuBar * bar = menuBar();
//将菜单栏放入到窗口中
this->setMenuBar(bar);
//创建文件菜单
QMenu * fileMenu = bar->addMenu("文件");
QMenu * editMenu = bar->addMenu("编辑");
//添加菜单项
QAction * newAction = fileMenu->addAction("新建");
//添加分割线
fileMenu->addSeparator();
QAction * openAction = fileMenu->addAction("打开");
//工具栏 可以有多个
QToolBar * toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea, toolBar);//默认停靠在左边
//只允许左右侧停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//设置移动 (总开关)
toolBar->setMovable(false);
//工具栏添加菜单项
toolBar->addAction(newAction);
//添加分割线
toolBar->addSeparator();
toolBar->addAction(openAction);
//状态栏,只能只有一个
QStatusBar * stBar = statusBar();
setStatusBar(stBar);
//添加提示信息
QLabel * label = new QLabel("提示信息", this);
stBar->addWidget(label);
QLabel * label2 = new QLabel("右侧的提示信息", this);
stBar->addPermanentWidget(label2);
//铆接部件,浮动窗口,可以有多个
QDockWidget * dock = new QDockWidget;
//添加铆接部件到窗口中
addDockWidget(Qt::BottomDockWidgetArea, dock);
//设置停靠范围,在顶部和下部
dock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);
//核心部件
QTextEdit * edit = new QTextEdit;//文本编辑器
setCentralWidget(edit);
}
MainWindow::~MainWindow()
{
}