QMainWindow是一个 为用户提供主窗口程序的类, 包含一个菜单栏 、 多个工具栏、多个锚接部件、一个状态栏及一个中心部件,Qt主窗口界面布局如下图所示。

一、菜单栏

菜单是一系列命令的列表。为了实现菜单、工具栏按钮、 键盘快捷方式等命令的一致性, Qt使用动作(Action)来表示这些命令。Qt的菜单就是由一系列的QAction动作对象构成的列表,而菜单栏则是包容菜单的面板,它位于主窗口标题栏的下面。一个主窗口只能有一个菜单栏。

二、状态栏

状态栏通常显示GUI应用程序的些状态信息, 它位于主窗口的底部。用户可以在状态栏上添加、使用Qt窗口部件。一个主窗口只能有一 个状态栏。

三、工具栏

工具栏是由一系列的类似于按钮的动作排列而成的面板,它通常由些经常使用的命令 (动作)组成。工具栏位于菜单栏的下面、状态栏的上面,可以停靠在主窗口的上、下、左、右四个方向上。一个主窗口可以包含多个工具栏。

四、锚接部件

锚接部件作为一个容器使用,以包容其他窗口部件来实现某些功能。例如,Qt设计器的属性编辑器、对象监视器等都是由锚接部件包容其他的Qt窗口部件来实现的。它位于工具栏区的
内部,可以作为一个窗口自由地浮动在主窗口上面,也可以向工具栏一样停靠在主窗口的上、下、左、右四个方向上。一个主窗口可以包含多个锚接部件。

五、中心部件

中心部件处在锚接部件的内部,主窗口的中心。一个主窗口只能有一个中心部件。

这里需要注意的是:
(1)主窗口具有自己的布局管理器,因此在主窗口QMainWindow上设置布局管理器或者创建一个父窗口部件作为QMainWindow的布局管理器都是不允许的。但可以在主窗口的中心部件上设置管理器。

(2)为了控制主窗口工具栏和锚接部件的显隐,在默认情况下,主窗口QMainWindow提供了一个上下文菜单。通常,通过在工具栏或锚接部件上单击鼠标右键就可以激活该上下文菜单,也可以通过函数激活该菜单。

QT学习:认识QMainWindow相关推荐

  1. QT学习之QMainWindow详解

    文章目录 1.菜单栏 2.工具栏 3.状态栏 4.铆接部件 5.核心部件(中心部件) 6.资源文件 有关QT的学习我们会采取连载更新,传送门: 有C++基础如何直接上手QT? 最适合新手的第一个Qt小 ...

  2. Qt学习之QMainWindow(一)QMainWindow简介

    (详细的后续会讲到,这里重在理解过程) Qt中的顶层窗口称为MainWindow,属于类QMainWindow,QMainWindow也是继承于QWidget.通过子类化QMainWindow可以创建 ...

  3. QT学习笔记--QMainWindow菜单栏、工具栏

    QMainWindow是个为用户提供主窗口程序的类,包含一个菜单栏.多个工具栏.多个铆接不见.一个状态栏及一个中心部件,是许多应用程序的基础,如文本编辑器,图片编辑器... 菜单栏 菜单栏例如: 程序 ...

  4. QT学习笔记之QMainWindow

    QT学习笔记之QMainWindow 菜单栏 工具栏 状态栏 中心窗口部件 铆接部件(浮动窗口) 菜单栏 菜单栏最多只有一个 //菜单栏创建QMenuBar* bar = menuBar();//将菜 ...

  5. 对QT学习之路12-14的源代码补充与修正

    QT学习之路12-14的源代码有些不完整,为了更好的让大家学习,本人做了一点修正与补充,谢谢.源代码如下: 头文件: #ifndef MAINWINDOW_H #define MAINWINDOW_H ...

  6. Qt学习之Qt基础入门(中)

    1. 前言 上一篇博客,总结了Qt的一些基础用法,这篇博客继续跟视频学习Qt的常用方法 Qt入门系列: Qt学习之C++基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门( ...

  7. Qt学习之路_12(简易数据管理系统)

    原文地址为: Qt学习之路_12(简易数据管理系统) 前言 最近从大陆来到台湾,之间杂事很多,挤不出时间来更新博客- 这次主要是通过做一个简易的数据库管理系统,来学习在Qt中对数据库,xml,界面的各 ...

  8. QT学习日志(附:简易计算器,qq登录界面,简易绘图板,植物大战僵尸魔改版项目实践)

    目录 写在前面 实训前一天 头文件无法生成 项目栏不见了 不知道如何发布程序 实训第一天(附简易计算器的实现) 自定义命名空间的相关问题 关于隐式调用构造函数的问题 实训第二天(不附地址薄的实现) 关 ...

  9. QT学习笔记(摘抄)

    QT学习笔记-1.QT主要的对象 说来惭愧学习c++很长时间了一直没有使用c++开发过软件界面 所以现在想认认真真的学习一个c++图形界面框架库 本来想学习Xwidget但是这个资料不大好找 有啥问题 ...

  10. QT 学习笔记(六)

    文章目录 一.设计器的使用 二.常用控件 1. Containers 容器类 2. Input Widgets 输出控件 3. Display Widgets 显示类控件 三.代码和运行结果 1. 主 ...

最新文章

  1. MongoDB工具最新开发 源代码更新 兼 进展报告 - 集群功能开发
  2. mySQL5.5服务配置_配置mysql5.5主从服务器(转)
  3. 使用MyBatis链接MySQL
  4. 《树莓派开发实战(第2版)》——2.8 利用VNC远程控制树莓派
  5. “逃离”单体,GitHub的微服务架构实践
  6. cesium学习之环境搭建
  7. wildfly_从WildFly 9(子系统)中运行OkHttpClient
  8. 用awk一些常用技巧sort uniq
  9. 会话,授权,认证概念解析
  10. 组件化思维对于一个UI设计来说有多重要?
  11. linux 多个makefile,linux – 具有多个目标的Makefile
  12. python猫狗大战pytorch_深度学习实战---猫狗大战(pytorch实现)
  13. 管理运筹学教程_期末复习_总结笔记
  14. SQL Server中默认的数据库及作用
  15. DTU和工业网关的区别是什么?怎么选?
  16. jq模仿雨滴下落的动画
  17. 计算机创新创业项目点子,创新创业项目有哪些(创业点子大全500个)
  18. 认证认可机构收费项目和标准
  19. Linux Signal 信号查询
  20. jQuery选择器$()

热门文章

  1. WWW 2021最佳论文亚军:基于属性补全的异质图神经网络新架构
  2. 如何阅读AI顶会论文,搭建深度学习知识体系框架?
  3. 本期最新 9 篇论文,帮你完美解决「读什么」的问题 | PaperDaily #19
  4. C++容器 bitset
  5. CSDN中的如何转载博文
  6. SwinTransformer代码中出现的代码知识的学习
  7. oracle 修改索引的名称,Oracle中查询索引名称,批量修改索引名称语句
  8. obs 推流编码在哪设置_OBS录屏软件
  9. python伪装浏览器什么意思_用python2和python3伪装浏览器爬取网页
  10. servlet和action的区别