QLayoutItem类提供了一个抽象的 QLayout(布局管理器)。
Header: | #include <QLayoutItem> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherited By: |
【详细描述】
> 此类在自定义布局时使用,提供纯虚函数来返回关于布局信息,包括:推荐尺寸sizeHint(), minimumSize(), maximumSize() 和扩展方向expandingDirections()。
> 布局的可通过 setGeometry() 和 geometry()方式设置和检索,并可以设置对齐 setAlignment() 和 alignment()。
> isEmpty() 返回布局项目是否为空。如果具体项是一个QWidget,可以使用 widget(), 类似地布局r layout() 和spacerItem()。
> 有些布局的宽度和高度相互依赖。这些可以用以下公式 hasHeightForWidth(), heightForWidth(), 和 minimumHeightForWidth()进行表示 。有关更多解释,请参见季度季刊文章:《用高度换宽度》 Trading Height for Width。
请参见 QLayout。
【公有函数】
QLayoutItem(Qt::Alignment alignment = Qt::Alignment()) | ||
virtual | ~QLayoutItem() | |
Qt::Alignment | alignment() const | 返回此项的对齐方式。 |
virtual QSizePolicy::ControlTypes | controlTypes() const | 返回布局项的控件类型。对于QWidgetItem,控件类型来自控件的尺寸策略;对于 QLayoutItem,控件类型派生自布局的内容。 |
virtual Qt::Orientations | expandingDirections() const = 0 | 返回此布局项是否可以利用比 sizeHint() 更多的空间。值 Qt::Vertical 或Qt::Horizontal 表示它只想在一个维度上增长,而 Qt::Vertical | Qt::Horizontal意味着它希望在两个维度上都增长。 |
virtual QRect | geometry() const = 0 | 返回此布局项所覆盖的矩形。 |
virtual bool | hasHeightForWidth() const | 如果此布局的首选高度取决于其宽度,则返回truef;否则返回alse。默认实现返回 false。 |
virtual int | heightForWidth(int) const | 返回此布局项的首选高度(给定宽度),此默认实现中未使用该高度。 默认实现返回 -1,指示首选高度与项的宽度无关。使用函数hasHeightForWidth() 通常比调用此函数并测试 -1 快得多。 在支持高度换宽度的布局管理器中重新实现此功能。典型的实现如下所示: 强烈建议使用缓存;没有它,布局将花费指数级时间。 |
virtual void | invalidate() | 使此布局项中的任何缓存信息失效。 |
virtual bool | isEmpty() const = 0 | 在子类中实现,以返回此项是否为空,即它是否包含任何控件。 |
virtual QLayout * | layout() | 如果此项是QLayout,则返回为 returned ;否则返回nullptr。 |
virtual QSize | maximumSize() const = 0 | 在子类中实现,以返回此项的最大尺寸。 |
virtual int | minimumHeightForWidth(int w) const | 返回此控件在给定宽度w下所需的最小高度。默认实现仅返回 heightForWidth(w)。 |
virtual QSize | minimumSize() const = 0 | 在子类中实现,以返回此项的最小尺寸。 |
void | setAlignment(Qt::Alignment alignment) | 设置对齐方式为alignment。 注意:项目对齐仅受具有视觉效果的子类支持。除了QLayoutItem子类,它为布局提供空白空间,所有继承的公共 Qt 类都支持项目对齐。 |
virtual void | setGeometry(const QRect &r) = 0 | 在子类中实现,以将此项的几何图形设置为 r 。 |
virtual QSize | sizeHint() const = 0 | 在子类中实现以返回此项的首选大小。 |
virtual QSpacerItem * | spacerItem() | 如果此项是 QSpacerItem ,则返回这个 QSpacerItem ;否则返回nullptr。 |
virtual QWidget * | widget() const | 如果此项目管理一个 QWidget,则返回该控件。否则返回nullptr。 注意: 当函数 layout() 和and spacerItem()执行强制转换时,此函数返回另一个对象: QLayout和QSpacerItem,而不返回QWidget。 |