QLayoutItem Class
QLayoutItemクラスは、QLayout 。詳細...
ヘッダー | #include <QLayoutItem> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
によって継承されています: |
パブリック関数
QLayoutItem(Qt::Alignment alignment = Qt::Alignment()) | |
virtual | ~QLayoutItem() |
Qt::Alignment | alignment() const |
virtual QSizePolicy::ControlTypes | controlTypes() const |
virtual Qt::Orientations | expandingDirections() const = 0 |
virtual QRect | geometry() const = 0 |
virtual bool | hasHeightForWidth() const |
virtual int | heightForWidth(int) const |
virtual void | invalidate() |
virtual bool | isEmpty() const = 0 |
virtual QLayout * | layout() |
virtual QSize | maximumSize() const = 0 |
virtual int | minimumHeightForWidth(int w) const |
virtual QSize | minimumSize() const = 0 |
void | setAlignment(Qt::Alignment alignment) |
virtual void | setGeometry(const QRect &r) = 0 |
virtual QSize | sizeHint() const = 0 |
virtual QSpacerItem * | spacerItem() |
virtual QWidget * | widget() const |
詳細な説明
カスタムレイアウトで使用されます。
sizeHint ()、minimumSize ()、maximumSize ()、expandingDirections ()など、レイアウトに関する情報を返すための純粋な仮想関数が用意されています。
レイアウトのジオメトリはsetGeometry() とgeometry() で設定・取得でき、アライメントはsetAlignment() とalignment() で設定・取得できます。
isEmpty() は、レイアウト項目が空であるかどうかを返します。具象項目がQWidget の場合、widget()で取得できる。layout() とspacerItem() についても同様です。
レイアウトによっては、幅と高さの相互依存性があります。これらは、hasHeightForWidth()、heightForWidth()、minimumHeightForWidth() を使って表現できます。詳しくはQt Quarterlyの Trading Height for Widthを参照してください。
QLayoutも参照して ください。
メンバ関数のドキュメント
[explicit]
QLayoutItem::QLayoutItem(Qt::Alignment alignment = Qt::Alignment())
alignment を持つレイアウト項目を構築します。 すべてのサブクラスがアライメントをサポートしているわけではありません。
[virtual noexcept]
QLayoutItem::~QLayoutItem()
QLayoutItem を破壊する。
Qt::Alignment QLayoutItem::alignment() const
この項目のアライメントを返します。
setAlignment()も参照 。
[virtual]
QSizePolicy::ControlTypes QLayoutItem::controlTypes() const
レイアウト項目のコントロールタイプを返します。QWidgetItem の場合、コントロール・タイプはウィジェットのサイズ・ポリシーに由来します。QLayoutItem の場合、コントロール・タイプはレイアウトのコンテンツに由来します。
QSizePolicy::controlType()も参照してください 。
[pure virtual]
Qt::Orientations QLayoutItem::expandingDirections() const
このレイアウトアイテムがsizeHint() より多くのスペースを使用できるかどうかを返します。値がQt::Vertical またはQt::Horizontal の場合は、1 次元だけ大きくしたいことを意味し、Qt::Vertical |Qt::Horizontal の場合は、2 次元とも大きくしたいことを意味します。
[pure virtual]
QRect QLayoutItem::geometry() const
このレイアウト項目がカバーする矩形を返します。
setGeometry()も参照してください 。
[virtual]
bool QLayoutItem::hasHeightForWidth() const
このレイアウトの好ましい高さが幅に依存する場合はtrue
を返し、そうでない場合はfalse
を返します。デフォルトの実装はfalseを返します。
widthに対するheightをサポートするレイアウトマネージャでは、この関数を再実装してください。
heightForWidth() およびQWidget::heightForWidth()も参照して ください。
[virtual]
int QLayoutItem::heightForWidth(int) const
このデフォルトの実装では使用されていない width を指定して、このレイアウトアイテムの好ましい高さを返します。
デフォルトの実装は -1 を返し、好ましい高さがアイテムの幅に依存しないことを示します。この関数を呼び出して -1 をテストするよりも、関数hasHeightForWidth() を使用する方がはるかに高速です。
幅の高さをサポートするレイアウトマネージャーでは、この関数を再実装してください。典型的な実装は次のようになります:
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; }
キャッシュすることを強く推奨します。キャッシュしないと、レイアウトに指数関数的な時間がかかります。
hasHeightForWidth()も参照してください 。
[virtual]
void QLayoutItem::invalidate()
このレイアウト項目にキャッシュされた情報を無効にします。
[pure virtual]
bool QLayoutItem::isEmpty() const
このアイテムが空であるかどうか、つまりウィジェットを含んでいるかどうかを返すためにサブクラスで実装されています。
[virtual]
QLayout *QLayoutItem::layout()
この項目がQLayout であれば、それはQLayout として返される。そうでなければnullptr
が返される。この関数は型安全なキャストを提供する。
spacerItem() およびwidget()も参照 。
[pure virtual]
QSize QLayoutItem::maximumSize() const
このアイテムの最大サイズを返すためにサブクラスで実装されています。
[virtual]
int QLayoutItem::minimumHeightForWidth(int w) const
このウィジェットが、与えられた幅w に対して必要とする最小の高さを返します。デフォルトの実装では、単にheightForWidth(w) を返します。
[pure virtual]
QSize QLayoutItem::minimumSize() const
このアイテムの最小サイズを返すためにサブクラスで実装されています。
void QLayoutItem::setAlignment(Qt::Alignment alignment)
このアイテムのアライメントをalignment に設定します。
注意:アイテムの整列は、QLayoutItem のサブクラスで、視覚的な効果がある場合にのみサポートされます。レイアウトのための空白を提供するQSpacerItem を除いて、QLayoutItem を継承するすべてのパブリック Qt クラスは、アイテムのアライメントをサポートしています。
alignment()も参照してください 。
[pure virtual]
void QLayoutItem::setGeometry(const QRect &r)
このアイテムのジオメトリをr に設定するためにサブクラスで実装されています。
geometry()も参照してください 。
[pure virtual]
QSize QLayoutItem::sizeHint() const
このアイテムの優先サイズを返すためにサブクラスで実装されています。
[virtual]
QSpacerItem *QLayoutItem::spacerItem()
この項目がQSpacerItem の場合、QSpacerItem として返される。そうでない場合、nullptr
が返される。この関数は型安全なキャストを提供する。
[virtual]
QWidget *QLayoutItem::widget() const
この項目がQWidget を管理している場合、そのウィジェットを返す。そうでない場合は、nullptr
が返されます。
注意: 関数layout() とspacerItem() はキャストを行いますが、この関数は別のオブジェクトを返します。QLayout とQSpacerItem はQLayoutItem を継承しますが、QWidget は継承しません。
layout() およびspacerItem()も参照 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.