QGraphicsGridLayout Class
QGraphicsGridLayoutクラスは、グラフィックスビューでウィジェットを管理するためのグリッドレイアウトを提供します。詳細...
ヘッダー | #include <QGraphicsGridLayout> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | 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() を呼び出して、このレイアウトをそのウィジェットの最上位レイアウトとして設定する必要があります。この場合、ウィジェットがレイアウトの所有権を取得します。
レイアウトはアイテムの所有権を持ちます。レイアウト・アイテムがQGraphicsItem (QGraphicsWidget など)からも継承されている場合、レイアウト・アイテムが2つの所有権階層に属するため、所有権が曖昧になることがあります。この場合の対処法はQGraphicsLayoutItem::setOwnedByLayout() のドキュメントを参照してください。count() とitemAt() を呼び出すことで、レイアウトの各アイテムにアクセスできます。removeAt() を呼び出すと、アイテムは破棄されずにレイアウトから削除されます。
QGraphicsGridLayout のサイズ・ヒントとサイズ・ポリシー
QGraphicsGridLayoutは各アイテムのサイズヒントとサイズポリシーを尊重し、グリッド内のセルにアイテムが入りきらないほどのスペースがある場合、各アイテムはそのアイテムに対するレイアウトのアライメントに従って配置されます。各アイテムのアライメントはsetAlignment() を呼び出すことで設定でき、任意のアイテムのアライメントはalignment() を呼び出すことで確認できます。また、setRowAlignment() とsetColumnAlignment() をそれぞれ呼び出すことで、行全体または列全体のアライメントを設定することもできます。デフォルトでは、項目は左上に配置されます。
QGraphicsLinearLayout およびQGraphicsWidgetも参照 。
メンバ関数ドキュメント
QGraphicsGridLayout::QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr)
QGraphicsGridLayout のインスタンスを構築します。parent はQGraphicsLayout のコンストラクタに渡されます。
[virtual noexcept]
QGraphicsGridLayout::~QGraphicsGridLayout()
QGraphicsGridLayout オブジェクトを破棄する。
void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment())
row とcolumn のグリッドにitem を追加します。item にはオプションでalignment を指定できます。
void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = Qt::Alignment())
row とcolumn のグリッドにitem を追加します。rowSpan とcolumnSpan を指定でき、オプションで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)
行の固定高さrow をheight に設定する。
void QGraphicsGridLayout::setRowMaximumHeight(int row, qreal height)
行の最大高さrow をheight に設定する。
rowMaximumHeight()も参照のこと 。
void QGraphicsGridLayout::setRowMinimumHeight(int row, qreal height)
行の高さの最小値row をheight に設定する。
rowMinimumHeight()も参照のこと 。
void QGraphicsGridLayout::setRowPreferredHeight(int row, qreal height)
行の優先高さrow をheight に設定する。
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()も参照 ください。
© 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.