第8 章主窗口本章重点★ Qt 中主窗口程序的框架★ 手工创建 QMainWindow 主窗口的基本步骤★ 结合 Qt Designer 创建主窗口的方法★ QAction 动作的创建★ 如何在菜单及工具栏中加入动作★ 如何加入锚接窗口★ 各种锚接方式以及锚接窗体特性的设置方法★ 创建多文档应用程序的方法和步骤在前面几章中,我们一起学习了 Qt 的基础知识和技能。这一章,我们将带领大家学习如何创建主窗口应用程序,包括菜单栏、工具栏、状态栏、动作、中心部件、锚接部件等的创建和使用。最后,将介绍创建多文档窗口的常用方法和步骤。8.1 主窗口框架Qt 的 QMainWindow 类提供了一个应用程序主窗口,包括一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)以及一个中心部件(central widget),常见的一种界面布局如图 8-1 所示。图8-1 Qt 主窗口常见布局示意图绝大多数现代GUI 应用程序都会提供一些菜单、上下文菜单和工具栏。Qt 通过引入“动作”(action)这一概念来简化有关菜单和工具栏的编程。一个动作就是一个可以添加到任意数量的菜单和工具栏上的项。1.菜单栏菜单是一系列命令的列表。菜单可以让用户浏览应用程序并且处理一些事务,上下文菜单和工具栏则提供了对那些经常使用的功能进行快速访问的方法,它们能够提高软件的使用效率。为了实现菜单、工具栏按钮、键盘快捷方式等命令的一致性,Qt 使用动作(Action)来表示这些命令。Qt 的菜单就是由一系列的 QAction 动作对象构成的列表。而菜单栏则是包容菜单的容器,它通常位于主窗口的顶部,标题栏的下面。一个主窗口通常只有一个菜单栏。2.工具栏工具栏是由一系列的类似于按钮的动作排列而成的面板,它通常由一些经常使用的命令(动作)组成。工具栏的位置处在菜单栏下面、状态栏的上面,工具栏可以停靠在主窗口的上、下、左、右这 4 个不同的位置。一个主窗口可以有多个工具栏。3.状态栏状态栏通常是显示GUI 应用程序的一些状态信息,它位于主窗口的最底部。可以在状态栏上添加、使用Qt 窗口部件。一个主窗口只有一个状态栏。4.锚接部件对于一个标准的 Qt 主窗口而言,锚接部件不是必需的。锚接部件一般是作为一个容器来使用,以包容其他窗口部件来实现某些功能。比如 Qt 设计器的属性编辑器、对象监视器等都是由锚接部件包容其他的 Qt 窗口部件来实现的。它处在工具栏的内部,可以作为一个窗口自由的浮动...