QGraphicsGridLayout Class

QGraphicsGridLayoutクラスは、グラフィックスビューでウィジェットを管理するためのグリッドレイアウトを提供します。詳細...

Header: #include <QGraphicsGridLayout>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QGraphicsLayout

パブリック関数

QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)
virtual ~QGraphicsGridLayout()
void addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())
void addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())
Qt::Alignment alignment(QGraphicsLayoutItem *item) const
Qt::Alignment columnAlignment(int column) const
int columnCount() const
qreal columnMaximumWidth(int column) const
qreal columnMinimumWidth(int column) const
qreal columnPreferredWidth(int column) const
qreal columnSpacing(int column) const
int columnStretchFactor(int column) const
qreal horizontalSpacing() const
QGraphicsLayoutItem *itemAt(int row, int column) const
void removeItem(QGraphicsLayoutItem *item)
Qt::Alignment rowAlignment(int row) const
int rowCount() const
qreal rowMaximumHeight(int row) const
qreal rowMinimumHeight(int row) const
qreal rowPreferredHeight(int row) const
qreal rowSpacing(int row) const
int rowStretchFactor(int row) const
void setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)
void setColumnAlignment(int column, Qt::Alignment alignment)
void setColumnFixedWidth(int column, qreal width)
void setColumnMaximumWidth(int column, qreal width)
void setColumnMinimumWidth(int column, qreal width)
void setColumnPreferredWidth(int column, qreal width)
void setColumnSpacing(int column, qreal spacing)
void setColumnStretchFactor(int column, int stretch)
void setHorizontalSpacing(qreal spacing)
void setRowAlignment(int row, Qt::Alignment alignment)
void setRowFixedHeight(int row, qreal height)
void setRowMaximumHeight(int row, qreal height)
void setRowMinimumHeight(int row, qreal height)
void setRowPreferredHeight(int row, qreal height)
void setRowSpacing(int row, qreal spacing)
void setRowStretchFactor(int row, int stretch)
void setSpacing(qreal spacing)
void setVerticalSpacing(qreal spacing)
qreal verticalSpacing() const

再実装パブリック関数

virtual int count() const override
virtual void invalidate() override
virtual QGraphicsLayoutItem *itemAt(int index) const override
virtual void removeAt(int index) override
virtual void setGeometry(const QRectF &rect) override
virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override

詳細説明

QGraphicsGridLayoutを使用する最も一般的な方法は、ヒープ上にオブジェクトを構築し、コンストラクタに親ウィジェットを渡し、addItem ()を呼び出してウィジェットとレイアウトを追加することです。QGraphicsGridLayout は、アイテムを追加すると自動的にグリッドの寸法を計算します。

QGraphicsScene scene;
QGraphicsWidget *textEdit = scene.addWidget(new QTextEdit);
QGraphicsWidget *pushButton = scene.addWidget(new QPushButton);

QGraphicsWidget *form = new QGraphicsWidget;
scene.addItem(form);

QGraphicsGridLayout *layout = new QGraphicsGridLayout(form);
layout->addItem(textEdit, 0, 0);
layout->addItem(pushButton, 0, 1);

また、レイアウトのコンストラクタに親ウィジェットを渡さない場合は、QGraphicsWidget::setLayout() を呼び出して、このレイアウトをそのウィジェットの最上位レイアウトとして設定する必要があります。この場合、ウィジェットがレイアウトの所有権を取得します。

レイアウトはアイテムの所有権を持ちます。レイアウト・アイテムがQGraphicsItemQGraphicsWidget など)からも継承されている場合、レイアウト・アイテムが2つの所有権階層に属するため、所有権が曖昧になることがあります。この場合の対処法はQGraphicsLayoutItem::setOwnedByLayout() のドキュメントを参照してください。count() とitemAt() を呼び出すことで、レイアウトの各アイテムにアクセスできます。removeAt() を呼び出すと、アイテムは破棄されずにレイアウトから削除されます。

QGraphicsGridLayout のサイズ・ヒントとサイズ・ポリシー

QGraphicsGridLayoutは各アイテムのサイズヒントとサイズポリシーを尊重し、グリッド内のセルにアイテムが入りきらないほどのスペースがある場合、各アイテムはそのアイテムに対するレイアウトのアライメントに従って配置されます。各アイテムのアライメントはsetAlignment() を呼び出すことで設定でき、任意のアイテムのアライメントはalignment() を呼び出すことで確認できます。また、setRowAlignment() およびsetColumnAlignment() をそれぞれ呼び出すと、行全体または列全体のアライメントを設定できます。デフォルトでは、項目は左上に配置されます。

QGraphicsLinearLayout およびQGraphicsWidgetも参照

メンバ関数ドキュメント

QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)

QGraphicsGridLayout インスタンスを構築します。parentQGraphicsLayout のコンストラクタに渡されます。

[virtual noexcept] QGraphicsGridLayout::~QGraphicsGridLayout()

QGraphicsGridLayout オブジェクトを破棄します。

void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())

rowcolumn のグリッドにitem を追加します。item にはオプションでalignment を指定できます。

void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())

rowcolumn のグリッドにitem を追加します。rowSpancolumnSpan を指定でき、オプションでalignment を指定できます。

Qt::Alignment QGraphicsGridLayout::alignment(QGraphicsLayoutItem *item) const

item のアラインメントを返します。

setAlignment()も参照

Qt::Alignment QGraphicsGridLayout::columnAlignment(int column) const

column のアラインメントを返します。

setColumnAlignment()も参照

int QGraphicsGridLayout::columnCount() const

グリッドレイアウトのカラム数を返します。これは常に、レイアウト項目が占める最後の列のインデックスよりも 1 つ多くなります (空の列は、末尾の列を除いてカウントされます)。

qreal QGraphicsGridLayout::columnMaximumWidth(int column) const

column の最大幅を返します。

setColumnMaximumWidth()も参照

qreal QGraphicsGridLayout::columnMinimumWidth(int column) const

column の最小幅を返します。

setColumnMinimumWidth()も参照

qreal QGraphicsGridLayout::columnPreferredWidth(int column) const

column の優先幅を返します。

setColumnPreferredWidth()も参照 ください。

qreal QGraphicsGridLayout::columnSpacing(int column) const

column の列間隔を返します。

setColumnSpacing()も参照 ください。

int QGraphicsGridLayout::columnStretchFactor(int column) const

column の伸張率を返します。

setColumnStretchFactor()も参照 ください。

[override virtual] int QGraphicsGridLayout::count() const

再インプリメント:QGraphicsLayout::count() const.

このグリッドレイアウトのレイアウトアイテムの数を返します。

qreal QGraphicsGridLayout::horizontalSpacing() const

グリッドレイアウトのデフォルトの水平間隔を返します。

setHorizontalSpacing()も参照 ください。

[override virtual] void QGraphicsGridLayout::invalidate()

再定義します:QGraphicsLayout::invalidate().

[override virtual] QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int index) const

再リンプルメント:QGraphicsLayout::itemAt(int i) const.

index にあるレイアウト項目を返します。 このインデックスにレイアウト項目がない場合はnullptr を返します。

QGraphicsLayoutItem *QGraphicsGridLayout::itemAt(int row, int column) const

(row,column) にあるレイアウト項目へのポインタを返します。

[override virtual] void QGraphicsGridLayout::removeAt(int index)

再インプリメント:QGraphicsLayout::removeAt(int index).

index にあるレイアウト項目を破棄せずに削除します。アイテムの所有権は呼び出し元に移ります。

addItem()も参照してください

void QGraphicsGridLayout::removeItem(QGraphicsLayoutItem *item)

レイアウトアイテムitem を破棄せずに削除します。アイテムの所有権は呼び出し元に移ります。

addItem()も参照

Qt::Alignment QGraphicsGridLayout::rowAlignment(int row) const

row のアライメントを返します。

setRowAlignment()も参照

int QGraphicsGridLayout::rowCount() const

グリッド・レイアウトの行数を返します。これは常に、レイアウト項目が占める最後の行のインデックスより 1 つ多くなります (空の行は、末尾の行を除いてカウントされます)。

qreal QGraphicsGridLayout::rowMaximumHeight(int row) const

行の最大高さrow を返します。

setRowMaximumHeight()も参照のこと

qreal QGraphicsGridLayout::rowMinimumHeight(int row) const

行の高さの最小値row を返します。

setRowMinimumHeight()も参照

qreal QGraphicsGridLayout::rowPreferredHeight(int row) const

行の優先高さrow を返します。

setRowPreferredHeight()も参照 ください。

qreal QGraphicsGridLayout::rowSpacing(int row) const

row の行間を返す。

setRowSpacing()も参照

int QGraphicsGridLayout::rowStretchFactor(int row) const

row の伸張率を返します。

setRowStretchFactor()も参照

void QGraphicsGridLayout::setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment)

item のアラインメントをalignment に設定します。

alignment() も参照

void QGraphicsGridLayout::setColumnAlignment(int column, Qt::Alignment alignment)

column のアラインメントをalignment に設定します。

columnAlignment() も参照

void QGraphicsGridLayout::setColumnFixedWidth(int column, qreal width)

column からwidth の固定幅を設定します。

void QGraphicsGridLayout::setColumnMaximumWidth(int column, qreal width)

column の最大幅をwidth に設定します。

columnMaximumWidth() も参照

void QGraphicsGridLayout::setColumnMinimumWidth(int column, qreal width)

column の最小幅をwidth に設定します。

columnMinimumWidth() も参照

void QGraphicsGridLayout::setColumnPreferredWidth(int column, qreal width)

column からwidth の優先幅を設定します。

columnPreferredWidth() も参照

void QGraphicsGridLayout::setColumnSpacing(int column, qreal spacing)

column からspacing の間隔を設定します。

columnSpacing() も参照

void QGraphicsGridLayout::setColumnStretchFactor(int column, int stretch)

column からstretch の伸張率を設定します。

columnStretchFactor()も参照

[override virtual] void QGraphicsGridLayout::setGeometry(const QRectF &rect)

再インプリメント:QGraphicsLayoutItem::setGeometry(const QRectF &rect).

グリッドレイアウトの外接ジオメトリをrect に設定します。

void QGraphicsGridLayout::setHorizontalSpacing(qreal spacing)

グリッドレイアウトのデフォルトの水平間隔をspacing に設定します。

horizontalSpacing()も参照してください

void QGraphicsGridLayout::setRowAlignment(int row, Qt::Alignment alignment)

row のアライメントをalignment に設定します。

rowAlignment() も参照

void QGraphicsGridLayout::setRowFixedHeight(int row, qreal height)

行の固定高さrowheight に設定します。

void QGraphicsGridLayout::setRowMaximumHeight(int row, qreal height)

行の最大高さrowheight に設定します。

rowMaximumHeight() も参照

void QGraphicsGridLayout::setRowMinimumHeight(int row, qreal height)

行の高さの最小値rowheight に設定します。

rowMinimumHeight() も参照

void QGraphicsGridLayout::setRowPreferredHeight(int row, qreal height)

行の優先高さrowheight に設定します。

rowPreferredHeight() も参照

void QGraphicsGridLayout::setRowSpacing(int row, qreal spacing)

row の間隔をspacing に設定します。

rowSpacing() も参照

void QGraphicsGridLayout::setRowStretchFactor(int row, int stretch)

row の伸張率をstretch に設定します。

rowStretchFactor() も参照

void QGraphicsGridLayout::setSpacing(qreal spacing)

グリッド・レイアウトのデフォルトの間隔 (縦方向と横方向の両方) をspacing に設定します。

rowSpacing() およびcolumnSpacing() も参照

void QGraphicsGridLayout::setVerticalSpacing(qreal spacing)

グリッド・レイアウトのデフォルトの縦方向の間隔をspacing に設定します。

verticalSpacing()も参照

[override virtual] QSizeF QGraphicsGridLayout::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const

再インプリメント:QGraphicsLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const.

qreal QGraphicsGridLayout::verticalSpacing() const

グリッドレイアウトのデフォルトの縦方向の間隔を返します。

setVerticalSpacing()も参照してください

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。