一、描述
QLayoutItem 类提供了一个 QLayout 操作的抽象项。
二、函数成员
1、void setAlignment(Qt::Alignment alignment) / Qt::Alignment alignment()
设置项目的对齐方式。
除了为布局提供空白空间的 QSpacerItem 之外,所有继承 QLayoutItem 的公共 Qt 类都支持项对齐。
2、QSizePolicy::ControlTypes controlTypes()
返回布局项的控件类型。对于一个 QWidgetItem,控件类型来自widget的大小策略;对于 QLayoutItem,控件类型派生自布局的内容。
enum QSizePolicy::ControlType:此枚举在布局交互方面指定了不同类型的小部件:
- QSizePolicy::DefaultType:默认类型,没有指定时。
- QSizePolicy::ButtonBox:QDialogButtonBox 实例。
- QSizePolicy::CheckBox:QCheckBox 实例。
- QSizePolicy::ComboBox:QComboBox 实例。
- QSizePolicy::Frame:QFrame 实例。
- QSizePolicy::GroupBox:QGroupBox 实例。
- QSizePolicy::Label: QLabel 实例。
- QSizePolicy::Line:具有 QFrame::HLine 或 QFrame::VLine 的 QFrame 实例。
- QSizePolicy::LineEdit:QLineEdit 实例。
- QSizePolicy::PushButton:QPushButton 实例。
- QSizePolicy::RadioButton:QRadioButton 实例。
- QSizePolicy::Slider:QAbstractSlider 实例。
- QSizePolicy::SpinBox:QAbstractSpinBox 实例。
- QSizePolicy::TabWidget:QTabWidget 实例。
- QSizePolicy::ToolButton:QToolButton 实例。
3、【纯虚函数】Qt::Orientations expandingDirections()
返回此布局项是否可以使用比 sizeHint() 更多的空间。Qt::Vertical 或 Qt::Horizontal 的值意味着它只想在一维上增长,而 Qt::Vertical | Qt::Horizontal 意味着它想要在两个维度上增长。
4、QRect geometry()
返回此布局项覆盖的矩形。
【纯虚函数】void setGeometry(const QRect &r)
在子类中实现以设置项目的几何位置。
5、bool hasHeightForWidth()
布局的首选高度是否取决于其宽度。默认实现返回 false。
6、int heightForWidth(int w)
给定宽度,返回此布局项的首选高度。
在支持高度宽度的布局管理器中重新实现此功能。一个典型的实现将如下所示:
int MyLayout::heightForWidth(int w) const
{
if (cache_dirty || cached_width != w)
{
MyLayout *that = const_cast<MyLayout *>(this);
int h = calculateHeightForWidth(w);
that->cached_hfw = h;
return h;
}
return cached_hfw;
}
重新实现时强烈建议使用缓存,否则布局将需要指数级的时间。
7、void invalidate()
使此布局项中的任何缓存信息无效。
8、【纯虚函数】bool isEmpty()
在子类中实现以返回此项是否为空,即它是否包含任何小部件。
9、QLayout * layout()
如果此项为QLayout,则作为QLayout返回;否则返回 nullptr。
QSpacerItem * spacerItem()
如果此项为QSpacerItem,则作为QSpacerItem返回; 否则返回 nullptr。
QWidget * widget()
如果此项目管理QWidget,则返回该小部件。否则,返回 nullptr。
10、【纯虚函数】QSize maximumSize() / 【纯虚函数】QSize minimumSize()
在子类中实现以返回此项的最大 / 最小大小。
11、int minimumHeightForWidth(int w)
返回此小部件对于给定宽度 w 所需的最小高度。默认实现只返回 heightForWidth(w)。
12、【纯虚函数】QSize sizeHint()
在子类中实现以返回此项的首选大小。