是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar),多个工具栏(tool bars),多个锚接部件(dock widgets)例如浮动窗口,一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
所属文档 :qmake 继承:qwidget qt助手怎么看 default默认
//重置窗口大小
resize(600,400);
//菜单栏
QMenuBar *bar = menuBar();
//将菜单栏放到窗口中
setMenuBar(bar);
//创建菜单
QMenu * fileMenu=bar->addMenu("文件");
QMenu * editMenu=bar->addMenu("编辑");
//创建菜单项
fileMenu->addAction("新建");
//添加分隔符
fileMenu->addSeparator();
fileMenu->addAction("打开");
效果:
工具栏中用newAction和openAction接收,工具栏中的新建和打开与菜单栏中是共用的。
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QDebug>
#include <QPushButton>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//重置窗口大小
resize(600,400);
//菜单栏,最多只有一个
QMenuBar *bar = menuBar();
//将菜单栏放到窗口中
setMenuBar(bar);
//创建菜单
QMenu * fileMenu=bar->addMenu("文件");
QMenu * editMenu=bar->addMenu("编辑");
//创建菜单项
QAction * newAction = fileMenu->addAction("新建");//用两个函数 newAction和openAction去接收
//添加分隔符
fileMenu->addSeparator();
QAction * openAction =fileMenu->addAction("打开");
//工具栏 可以有多个
QToolBar * toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea,toolBar);//把工具栏放到左边 记不住每次 用qt助手查 所有枚举值都是QT::
//后期设置只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
//不允许浮动
toolBar->setFloatable(false);
//设置移动(总开关,设置之后工具栏不能动了,前面的设置全部失效)
toolBar->setMovable(false);
//工具栏中可以设置内容
toolBar->addAction(newAction);
toolBar->addSeparator();
toolBar->addAction(openAction);
//工具栏中添加控件,要提示加头文件
QPushButton * btn =new QPushButton("aa",this);//this指定父亲
toolBar->addWidget(btn);
}
MainWindow::~MainWindow()
{
}
总结:菜单栏最多有一个
QMenuBar *bar=MenuBar();
setMenuBar(bar);
QMenu *fileMenu=bar->addMenu("文件") 创建菜单
QAction *newAction =fileMenu->addAction("新建");创建菜单项
添加分隔线AddSeparator();
工具栏可以有多个
QToolBar *toolbar =new QToolBar(this);
addToolBar(默认停靠区域,toolBar)
浮动 移动 控件