第 11 章 布局管理

本章重点

  • 在窗体中摆放窗口部件的方法
  • 布局的基本概念和分类
  • 基本布局的创建方法和步骤
  • 堆栈窗体的创建和使用
  • 切分窗口的创建和使用
  • 各种布局方式的综合使用
  • 如何优化布局结构
  • 布局管理的经验总结

放置在窗体中的每一个窗口部件都必须有一个合适的大小和位置,并且它们应该能够随着程序自身的辩护做出响应而不改变整体的布局结构。 Qt4 提供了多种用于在窗体中摆放窗口部件的类:QHBoxLayout、QVBoxLayout、QGridLayout、QFormLayout 和 QStackedLayout。这些类简单易用,几何每个 Qt 开发人员都会用到它们-或者直接在源代码中,或者通过 Qt Designer。在这一章里,我们将学习如何使用 Qt4 中基本的布局管理器以及栈部件和分裂器部件来完成一些比较复杂的布局。

可以执行布局管理功能的其他类还有 QSplitter、QScrollArea、QMainWindow 和 QMdiArea 等。这些类所拥有的共同点在于它们提供了一种用户可以灵活掌控的布局方式。 例如,QSplitter 就提供了一个切分窗口拖动条(splitter bar),通过拖拽它,用户可以 改变窗口部件的大小。QMdiArea 则为多文档界面(multiple document interface,MDI)提 供了支持。它们经常适合用作布局类的替换方式,我们将在本章中讲述其中的部分内容。