(三)QMainWindow

介绍QMainWindow

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
在这里插入图片描述

菜单栏

一个主窗口最多只有一个菜单栏。

   //定义菜单栏  最多只能有一个
   QMenuBar *Bar  = menuBar();
   //一个都是使用set方法
   setMenuBar(Bar);
   //创建菜单
   QMenu * fileMenu =Bar->addMenu("文件");
   QMenu * editMenu =Bar->addMenu("编辑");
   //创建菜单项
   fileMenu->addAction("新建");
   //添加分隔栏
   fileMenu->addSeparator();
   fileMenu->addAction("打开");

在这里插入图片描述

工具栏

主窗口的工具栏上可以有多个工具条,通常采用一个菜单对应一个工具条的的方式,也可根据需要进行工具条的划分。

   //工具栏可以有多个
   QToolBar * toolBar = new QToolBar(this);
   //有多个的使用add方法  工具栏的位置可以很任意拖拉,当时也可以固定位置
   //Qt::LeftToolBarArea  左边   / Qt::TopToolBarArea  上边
   addToolBar(Qt::TopToolBarArea,toolBar);
   //只允许上下
   toolBar->setAllowedAreas(Qt::TopToolBarArea|Qt::BottomToolBarArea);
   //设置浮动
   toolBar->setFloatable(false);
   //总开关 设置移动
   toolBar->setMovable(false);
   //工具栏添加内容
   toolBar->addAction(newAction);
   //添加分隔符
   toolBar->addSeparator();
   toolBar->addAction(openAction);
   //添加控件
   QPushButton * btn = new QPushButton("按钮",this);
   toolBar->addWidget(btn);

在这里插入图片描述

状态栏

状态栏也只能最多有一个

   //状态栏  最多只有一个
   QStatusBar * stBar = statusBar();
   setStatusBar(stBar);
   QLabel * leftlabel = new QLabel("左侧提示信息",this);
   QLabel * rightlabel = new QLabel("右侧提示信息",this);
   stBar->addPermanentWidget(leftlabel,1);
   //控制在下面的左右测
   stBar->addPermanentWidget(rightlabel);

铆接部件(浮动窗口)

铆接部件 QDockWidget,也称浮动窗口,可以有多个。
 //浮动窗口 可以有多个

  QDockWidget * dockWidget = new QDockWidget("浮动",this);
  addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
  //设置中心部件  只能有一个
  QTextEdit * textEdit = new QTextEdit(this);
  setCentralWidget(textEdit);

在这里插入图片描述

添加资源文件

1.首先将需要导入到项目的文件复制到项目下(image就是刚刚复制进入的)
在这里插入图片描述
2.右键添加新文件,取名res
在这里插入图片描述
3.添加前缀和文件
在这里插入图片描述
文件就是把刚刚文件夹的内容复制进来
4.代码中展示

QAction * newAction =fileMenu->addAction("新建");
newAction->setIcon(QIcon(":/Image/Luffy.png"));

运行展示:
在这里插入图片描述

posted @ 2021-07-09 22:10  我就是隔壁老张  阅读(269)  评论(0编辑  收藏  举报