# GUI基本概念 ## 一、窗口布局 窗口布局可以用下面的图来表示: ![window-struct](assets/window-struct.png) ​ 主窗口的最上面是 Window Title,也就是标题栏,通常用于显示标题和控制按钮,比如最大化、最小化和关闭等。Window Title 下面是 Menu Bar,也就是菜单栏,用于显示菜单。窗口最底部是 Status Bar,称为状态栏。 ​ 除去上面说的三个横向的栏,中间是以矩形区域表示。我们可以看出,最外层称为 Tool Bar Area,用于显示工具条区域。之所以是矩形表示,是因为,Qt 的主窗口支持多个工具条。你可以将工具条拖放到不同的位置,因此这里说是 Area。我们可以把几个工具条并排显示在这里,就像 Word2003 一样,也可以将其分别放置,类似 Photoshop。在工具条区域内部是 Dock Widget Area,这是停靠窗口的显示区域。所谓停靠窗口,就像 Photoshop 的工具箱一样,可以停靠在主窗口的四周,也可以浮动显示。主窗口最中间称为 Central Widget,就是我们程序的工作区。通常我们会将程序最主要的工作区域放置在这里,类似 Word 的稿纸或者 Photoshop 的画布等等。 ## 二、窗口 ​ 窗口在GUI中被泛化为一切独立的主件,比如主窗口、对话框、按钮。这些都被称为窗口,窗口与窗口之间各自独立,但是又相互通信。 ​ 窗口分为父窗口和子窗口,子窗口依赖于父窗口存在。当父窗口消亡时,其子窗口全部消亡。 例: ![window03](assets/window03.png) ![window04](assets/window04.png) ​ 上图中,按钮是对话框的子窗口,对话框是主窗口的子窗口,当主窗口消亡时,对话框和按钮也随之消亡。 ## 三、坐标系统 ​ 窗口中,坐标以左上为原点,向右为x轴正向,向下为y轴正向: ![coordinates01](assets/coordinates01.png) 引用: [Qt 学习之路 2(7):MainWindow 简介](https://www.devbean.net/2012/08/qt-study-road-2-mainwindow/) [What Is a Window?](https://docs.microsoft.com/zh-cn/windows/desktop/learnwin32/what-is-a-window-)