卡片 (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
属性是此属性的别名。- 标准的
Button
属性,如enabled
、flat
、highlighted
、checkable
、视觉状态属性等均可用,并将影响Clip
的外观和行为。
信号
onClicked()
: 当Clip
区域被点击时发出。Button
的其他信号(例如pressedChanged
、released
)也可用。
注意
- 内容显示:此
Clip
组件的contentItem
是一个空Item
。要像典型按钮那样在Clip
的交互区域内显示文本或图标作为其定义内容的一部分(使用text
或icon.name
),您需要自定义或替换contentItem
。如果只是简单地将视觉效果置于其上,则将它们作为Clip
本身的子项(如示例中所示)即可。 - 命名:如果期望一个主要执行其子项图形裁剪的项,那么名称“Clip”可能会有些误导。它更多地用作一个可交互的、带样式的表面或“FrameButton”。
- 背景 Frame:提供视觉背景的实际组件是
Frame
。理解Frame
组件(如果单独记录)可能会提供有关其特定样式功能的更多上下文。