Clip (インタラクティブサーフェス)
「リストとコレクション」カテゴリにある Clip コンポーネントは、カスタマイズ可能なフレームのような外観を持つクリック可能なサーフェスとして機能する特殊な Button です。内部の Frame コンポーネントを背景に使用し、このフレームの色、角の半径、および境界線を制御するプロパティを公開します。
その名前にもかかわらず、Clip は主に伝統的な QML の意味での子コンテンツのグラフィカルクリッピング(つまり、Item の clip: true プロパティを介して)を実行するものではありません。代わりに、スタイル付きのインタラクティブなサーフェスを提供します。
基本的な使用法
Clip は、定義された外観を持つ基本的なクリック可能領域として使用できます。その contentItem(Button から継承)はこのコンポーネントのソースではデフォルトで空の Item であるため、標準の Button の text や icon.name プロパティのように直接テキストやアイコンを表示するようには設計されていません。コンテンツを表示する必要がある場合は、通常、QML アイテムを Clip の子として配置し、それらがスタイル付きの背景の上に表示されるようにします。

qml
import QtQuick 2.15
import RinUI
// ...
Clip {
id: myClickableSurface
width: 200
height: 100
// 'backgroundColor' またはエイリアス 'color' を使用してサーフェスの色を設定します
backgroundColor: Theme.currentTheme.colors.controlColor
radius: 8
borderColor: Theme.currentTheme.colors.controlBorderColor
borderWidth: 1
onClicked: {
console.log("Clip surface clicked!");
}
// 上にコンテンツを視覚的に追加する例
Text {
anchors.centerIn: parent
text: qsTr("Clickable Area")
}
}主なプロパティ
color:color(内部Frameの背景色のエイリアスで、ButtonのbackgroundColorにも関連付けられています) - サーフェスの背景色を設定します。backgroundColorと同じように使用できます。radius:real(内部Frameのradiusエイリアス) - サーフェスの角の半径を設定します。borderColor:color(内部FrameのborderColorエイリアス) - サーフェスの境界線の色を設定します。borderWidth:real(内部FrameのborderWidthエイリアス) - サーフェスの境界線の幅を設定します。
Button から継承:
backgroundColor:color- このプロパティは内部Frameの背景色を直接制御します。Clipのcolorプロパティはこれのエイリアスです。enabled、flat、highlighted、checkable、视覚状態プロパティなどの標準的なButtonプロパティが利用可能で、Clipの外観と動作に影響します。
シグナル
onClicked():Clip領域がクリックされたときに発行されます。Buttonの他のシグナル(例:pressedChanged、released)も利用可能です。
注釈
- コンテンツ表示:この
ClipコンポーネントのcontentItemは空のItemです。典型的なボタンのようにClipのインタラクティブ領域内にテキストやアイコンを定義済みコンテンツの一部として表示する(textやicon.nameを使用する)には、contentItemをカスタマイズまたは置換する必要があります。単に視覚要素を上に配置する場合は、Clip自体の子にする(例のように)ことで機能します。 - 命名:主に子のグラフィックをクリッピングするアイテムを期待している場合、「Clip」という名前は少し誤解を招く可能性があります。これはむしろ、インタラクティブでスタイル付きのサーフェス、または「FrameButton」として機能します。
- 背景フレーム: 視覚的な背景を提供する実際のコンポーネントは
Frameです。Frameコンポーネント(別途文書化されている場合)を理解すると、その特定のスタイリング機能に関するより多くのコンテキストが得られる可能性があります。