• [Qt]QMainWindow


    目录

    1.基本概述

    2.菜单栏

    3.工具栏

    4.状态栏

    5.铆接部件

    6.中心部件

    7.资源文件

    (1)创建菜单栏,及菜单项

    (2)创建工具栏

    (3)创建锚接部件

    (4)创建中心文件

    (5)创建状态栏


    1.基本概述

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

    2.菜单栏

           (1)菜单栏最多只有一个,在窗口最上方
      (2)菜单栏创建:                                                                                                                                    通过QMainWindow类的menubar()函数获取主窗口菜单栏指针
        #include < QMenuBar >
        QMenuBar *bar = MenuBar();
        此时菜单栏不仅为空,而且独立于窗口
      (3)菜单栏放入窗口:
        setMenuBar(bar)
        此时已经将菜单栏放入窗口,但是菜单栏没有内容,因此不显示
      (4)创建菜单:
        QMenu * fileMenu =bar->addMenu(“文件”);
      (5)创建菜单项:
        fileMenu ->setAction(“新建”)
        fileMenu ->setAction(“打开”)
      (6)菜单项之间的分隔符
         fileMenu->addSeparator();

    3.工具栏

     (1)工具栏,(可以是多个),但是只能在左/右/上/下位置,默认是上方
      (2)工具栏创建:
        #include < QToolBar >
        QToolBarr *toolbar = new ToolBar(this);
      (3)工具栏放入窗口:
        addToolBar(toolbar);
        addToolBar(默认停靠区域,toolbar);
      (4)工具栏停靠范围:
        toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
      (5)工具栏浮动:
        toolBar->setFloatable(false);
      (6)工具项创建
         toolBar->addAction(“新建”);
         toolBar->addAction(“打开”);
      (7)工具项之间的分隔符
         toolBar->addSeparator();
      (8)控件作为工具项
         QPushButton *btn1=new QPushButton(“按钮”,this);//创建控件
         toolBar->addWidget(btn1);//将控件添加至工具栏

    4.状态栏

           (1)状态栏,(最多只有一个),在窗口最下方
      (2)状态栏创建:
        #include < QStatusBar >
        QStatusBar * staBar= statusBar();
      (3)状态栏放入窗口:
        setStatusBar(staBar);
      (4)添加状态项:
        QLabel * label=new QLabel(“提示信息”,this);
         staBar->addWidget(label);//左侧添加
         QLabel *label1=new QLabel(“右侧提示信息”,this);
         staBar->addPermanentWidget(label1);//右侧添加

    5.铆接部件

    (1)锚接部件,(可以有多个),放置在上、下、左、右位置                          

    (2)锚接部件创建:
      #include
      QDockWidget *dockWidget=new QDockWidget(“锚接部件/浮动窗口”,this);

    (3)锚接部件放入窗口:
     addDockWidget( Qt::BottomDockWidgetArea,dockWidget);//参数1:默认位置
    (4)锚接部件放置范围:
    dockWidget>setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

    6.中心部件

    (1)中心部件,(只能有一个
    (2)中心部件创建:
      #include
      QTextEdit *edit =new QTextEdit(this);//添加至对象树
    (3)中心部件放入窗口:
      setCentralWidget(edit);

    7.资源文件

    本节如何通过界面文件,通过拖动组件的方式创建界面:ui文件如图所示:

    (1)创建菜单栏,及菜单项

    (2)创建工具栏

    (3)创建锚接部件

    (4)创建中心文件

    (5)创建状态栏

  • 相关阅读:
    old version wakelock.h
    封装一个省市区公共组件
    算法——动态规划
    阿里巴巴最新的 SpringCloud 面试题是如何让我“颜面扫地”的?
    Flink DataStream创建执行环境的正确方式与细节问题
    Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
    这才叫高并发,阿里架构师手写的三份绝密百亿级架构笔记限时分享
    DECIMAL 数据处理原理浅析
    通过有序线性结构构造AVL树
    【RV1103】RTL8723bs (SD卡形状模块)驱动开发
  • 原文地址:https://blog.csdn.net/m0_53415522/article/details/127707314