QLayoutItem

一、描述

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::ButtonBoxQDialogButtonBox 实例。
  • QSizePolicy::CheckBoxQCheckBox 实例。
  • QSizePolicy::ComboBoxQComboBox 实例。
  • QSizePolicy::FrameQFrame 实例。
  • QSizePolicy::GroupBoxQGroupBox 实例。
  • QSizePolicy::LabelQLabel 实例。
  • QSizePolicy::Line:具有 QFrame::HLineQFrame::VLineQFrame 实例。
  • QSizePolicy::LineEditQLineEdit 实例。
  • QSizePolicy::PushButtonQPushButton 实例。
  • QSizePolicy::RadioButtonQRadioButton 实例。
  • QSizePolicy::SliderQAbstractSlider 实例。
  • QSizePolicy::SpinBoxQAbstractSpinBox 实例。
  • QSizePolicy::TabWidgetQTabWidget 实例。
  • QSizePolicy::ToolButtonQToolButton 实例。

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()

在子类中实现以返回此项的首选大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值