「QMLのコントロール - GridとGridLayout」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

195行目: 195行目:


== サンプルコード ==
== サンプルコード ==
<code>GridLayout</code>内の全ての可視アイテムは、レイアウトに属する。<br>
<br>
<code>GridLayout</code>のサイズが変更された場合、レイアウト内の全てのアイテムが再配置される。<br>
これは、ウィジェットベースの<code>QGridLayout</code>に似ている。<br>
<br>
1つの行または1つの列のみを持つレイアウトが必要な場合は、<code>RowLayout</code>または<code>ColumnLayout</code>を使用する。<br>
これらは、より便利なAPIを提供しているため、可読性が向上するからである。<br>
<br>
デフォルトの設定では、アイテムは<code>flow</code>プロパティにしたがって配置される。<br>
(<code>flow</code>プロパティの既定値は、<code>GridLayout.LeftToRight</code>)<br>
<br>
もし、<code>columns</code>プロパティを設定している場合、自動配置が次の行の先頭に折り返される前に、レイアウトが持つことのできる列数の最大値として扱われる。<br>
<code>columns</code>プロパティは、<code>flow</code>プロパティが<code>GridLayout.LeftToRight</code>の場合にのみ使用される。<br>
<br>
以下の例は、GridLayoutのサンプルコードである。<br>
以下の例は、GridLayoutのサンプルコードである。<br>
  <syntaxhighlight lang="qml">
  <syntaxhighlight lang="qml">
GridLayout {
    id: grid
    columns: 3
   
   
    Text {
      text: "Three"
      font.bold: true
    }
    Text {
      text: "words"
      color: "red"
    }
    Text {
      text: "in"
      font.underline: true
    }
    Text {
      text: "a"
      font.pixelSize: 20
    }
    Text {
      text: "row"
      font.strikeout: true
    }
}
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<code>rows</code>プロパティも同様に動作するが、アイテムは垂直方向に自動配置される。<br>
また、<code>rows</code>プロパティは、<code>flow</code>が<code>GridLayout.TopToBottom</code>の場合にのみ使用される。<br>
<br>
<code>Layout.row</code>プロパティと<code>Layout.column</code>プロパティを設定することにより、アイテムが占めるセルを設定できる。<br>
また、<code>Layout.rowSpan</code>または<code>Layout.columnSpan</code>プロパティを設定することにより、行のスパンや列のスパンを設定できる。<br>
<br>
<code>GridLayout</code>内のアイテムは、これらの付属プロパティをサポートしている。<br>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Qt]]
[[カテゴリ:Qt]]