QLayoutItem Class
QLayoutItemクラスは、QLayout 。詳細...
Header: | #include <QLayoutItem> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherited By: | QLayout, QSpacerItem, and QWidgetItem |
パブリック関数
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 の場合は、両方の次元で大きくしたいことを意味します。
[pure virtual]
QRect QLayoutItem::geometry() const
このレイアウト項目がカバーする矩形を返します。
setGeometry()も参照してください 。
[virtual]
bool QLayoutItem::hasHeightForWidth() const
このレイアウトの好みの高さが幅に依存する場合はtrue
を返し、そうでない場合はfalse
を返します。デフォルトの実装は false を返します。
幅に対する高さをサポートするレイアウトマネージャでは、この関数を再実装してください。
heightForWidth() およびQWidget::heightForWidth()も参照して ください。
[virtual]
int QLayoutItem::heightForWidth(int) const
このデフォルトの実装では使用されません。
デフォルトの実装では -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()も参照してください 。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。