Skip to content

Latest commit

 

History

History
19 lines (12 loc) · 1.02 KB

_qt是如何处理控件大小的.rst

File metadata and controls

19 lines (12 loc) · 1.02 KB

我写pyqt已经有1年多了, 但是一直以来都没有整理清楚qt如何分配控件大小的. 最近又重新看了下文档, 稍微理清了点头绪, 这里整理一下.

我们知道, qt提供了很方便的layout机制, 方便我们不需要自己制定控件的大小, 以及非常好用的qt designer, 在大多数的时候, 我们只需要用qt designer拖拖拉拉界面, 或者写代码, 直接用QLayout.addWidget一个个加子控件就好了.

但是有的时候, 我们还是需要处理一些特殊情况, 比如自定义控件, 比如做一些微调. 这个时候我们需要整理清楚逻辑.

我们应该以这样的方式来一步步制定逻辑:

问题分割成:

  • 微观(控件)层面: 一个控件定义清楚自己大小的逻辑, 比如QLineEdit在垂直方向上的大小是固定的.
  • 宏观层面: layout自动整理清楚控件, 然后做一些微调, 比如如何把空间分别分配给各个控件.

控件层面

我们
设置sizeHint, 以及sizePolicy

在layout层面, 设置stretch