AbstractButton QML Type
提供按钮通用功能的抽象基类。更多...
| Import Statement: | import QtQuick.Controls |
| Inherits: | |
| Inherited By: |
属性
- action : Action
(since QtQuick.Controls 2.3 (Qt 5.10)) - autoExclusive : bool
- autoRepeat : bool
- autoRepeatDelay : int
(since QtQuick.Controls 2.4 (Qt 5.11)) - autoRepeatInterval : int
(since QtQuick.Controls 2.4 (Qt 5.11)) - checkable : bool
- checked : bool
- display : enumeration
(since QtQuick.Controls 2.3 (Qt 5.10)) - down : bool
- icon
(since QtQuick.Controls 2.3)- icon.cache : bool
(since QtQuick.Controls 2.3) - icon.color : color
(since QtQuick.Controls 2.3) - icon.height : int
(since QtQuick.Controls 2.3) - icon.name : string
(since QtQuick.Controls 2.3) - icon.source : url
(since QtQuick.Controls 2.3) - icon.width : int
(since QtQuick.Controls 2.3)
- icon.cache : bool
- implicitIndicatorHeight : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - implicitIndicatorWidth : real
(since QtQuick.Controls 2.5 (Qt 5.12)) - indicator : Item
- pressX : real
(since QtQuick.Controls 2.4 (Qt 5.11)) - pressY : real
(since QtQuick.Controls 2.4 (Qt 5.11)) - pressed : bool
- text : string
信号
- canceled()
- clicked()
- doubleClicked()
- pressAndHold()
- pressed()
- released()
- toggled()
(since QtQuick.Controls 2.2 (Qt 5.9))
方法
- void animateClick()
(since Qt 6.8) - void click()
(since Qt 6.8) - void toggle()
详细说明
AbstractButton 为具有按钮样式行为的控件提供了接口;例如,按压按钮以及单选按钮和复选框等可选中控件。作为抽象控件,它不包含委托实现,这些实现由其派生类型负责。
另请参阅 ButtonGroup 和按钮控件。
属性文档
action : Action [since QtQuick.Controls 2.3 (Qt 5.10)]
该属性用于存储按钮的操作。
该属性于 QtQuick.Controls 2.3(Qt 5.10)中引入。
另请参阅 Action 。
autoExclusive : bool
此属性控制是否启用自动互斥功能。
如果启用了自动互斥,属于同一父项的可选中按钮将表现得如同属于同一个“ButtonGroup ”一样。任何时候都只能选中一个按钮;选中另一个按钮会自动取消先前选中的按钮。
注意:该 属性对属于ButtonGroup 的按钮无效。
RadioButton 和TabButton 默认具有自动互斥性。
autoRepeat : bool
该属性控制按钮在被按下并长按期间,是否重复发送pressed()、released()和clicked()信号。
如果将此属性设置为true ,则不会发出pressAndHold() 信号。
默认值为false 。
初始延迟和重复间隔分别由autoRepeatDelay 和autoRepeatInterval 以毫秒为单位定义。
autoRepeatDelay : int [since QtQuick.Controls 2.4 (Qt 5.11)]
该属性存储自动重复功能的初始延迟时间(单位为毫秒)。默认值为300 毫秒。
该属性在 QtQuick.Controls 2.4(Qt 5.11)中引入。
另请参阅 autoRepeat 和autoRepeatInterval 。
autoRepeatInterval : int [since QtQuick.Controls 2.4 (Qt 5.11)]
该属性存储自动重复的间隔(单位为毫秒)。默认值为100 毫秒。
该属性于 QtQuick.Controls 2.4(Qt 5.11)中引入。
另请参阅 autoRepeat 和autoRepeatDelay 。
checkable : bool
该属性用于指定按钮是否可选中。
当用户单击该按钮,或在按钮处于活动焦点状态时按下空格键,可选按钮会在选中(开启)和未选中(关闭)状态之间切换。
默认值为false 。
另请参阅 checked 。
checked : bool
该属性用于控制按钮是否被选中。
自 Qt 6.2 起,设置此属性不再影响 `checkable ` 属性。如有需要,请显式设置 `checkable ` 属性。
另请参阅 checkable 。
display : enumeration [since QtQuick.Controls 2.3 (Qt 5.10)]
| 显示 | 显示效果 |
|---|---|
AbstractButton.IconOnly |
|
AbstractButton.TextOnly |
|
AbstractButton.TextBesideIcon (默认) |
|
AbstractButton.TextUnderIcon |
|
该属性在 QtQuick.Controls 2.3(Qt 5.10)中引入。
down : bool
该属性表示按钮是否处于视觉上按下状态。
除非显式设置,否则该属性遵循pressed 的值。要恢复默认值,请将该属性设置为undefined 。
另请参阅 ` pressed`。
icon group
icon.cache : bool [since QtQuick.Controls 2.3]
icon.color : color [since QtQuick.Controls 2.3]
icon.height : int [since QtQuick.Controls 2.3]
icon.name : string [since QtQuick.Controls 2.3]
icon.source : url [since QtQuick.Controls 2.3]
icon.width : int [since QtQuick.Controls 2.3]
| 名称 | 描述 |
|---|---|
| 名称 | 此属性用于指定要使用的图标名称。 图标将从平台主题中加载。如果在主题中找到了该图标,则始终使用该图标;即使同时设置了icon.source 也是如此。如果未找到该图标,则改用icon.source 。 有关主题图标的更多信息,请参阅QIcon::fromTheme()。 |
| source | 此属性用于指定要使用的图标名称。 该图标将作为普通图像加载。 如果设置了icon.name 且其指向一个有效的主题图标,则始终使用该图标,而非此属性。 |
| width | 此属性用于指定图标的宽度。 图标的宽度绝不会超过此值,但在必要时会缩小。 |
| height | 此属性用于指定图标的高度。 图标的高度绝不会超过此值,但在必要时会缩小。 |
| 颜色 | 此属性用于指定图标颜色。 图标将采用指定的颜色进行着色,除非该颜色被设置为 |
| 缓存 | 此属性指定是否应将图标缓存。 默认值为 true。 有关更多信息,请参阅cache 。 该属性自QtQuick.Controls 2.13 版本起引入。 |
这些属性是在 QtQuick.Controls 2.3 中引入的。
另请参阅 text 、display 以及 Qt Quick Controls 中的图标。
implicitIndicatorHeight : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]
该属性存储隐式指示器的高度。
该值等于indicator ? indicator.implicitHeight : 0 。
通常,该属性会与implicitContentHeight 和implicitBackgroundHeight 配合使用,以计算implicitHeight 。
该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。
另请参阅 implicitIndicatorWidth 。
implicitIndicatorWidth : real [read-only, since QtQuick.Controls 2.5 (Qt 5.12)]
该属性存储隐式指示器的宽度。
该值等于indicator ? indicator.implicitWidth : 0 。
通常,该属性会与implicitContentWidth 和implicitBackgroundWidth 配合使用,以计算implicitWidth 。
该属性在 QtQuick.Controls 2.5(Qt 5.12)中引入。
另请参阅 implicitIndicatorHeight 。
indicator : Item
该属性保存指标项。
pressX : real [read-only, since QtQuick.Controls 2.4 (Qt 5.11)]
该属性存储最后一次按下的 x 坐标。
注意:该 值会在触摸移动时更新,但在松开触摸后保持不变。
该属性自 QtQuick.Controls 2.4(Qt 5.11)起引入。
另请参阅 pressY 。
pressY : real [read-only, since QtQuick.Controls 2.4 (Qt 5.11)]
该属性存储最后一次按下的 y 坐标。
注意:该 值会在触摸移动时更新,但在松开触摸后保持不变。
该属性在 QtQuick.Controls 2.4(Qt 5.11)中引入。
另请参阅 pressX 。
pressed : bool [read-only]
该属性用于表示按钮是否处于被按下的状态。按钮可通过触摸事件或键盘事件被按下。
另请参阅 down 。
text : string
该属性包含该按钮的文本描述。
注意:该 文本用于辅助功能,因此即使内容项是图片,设置文本描述也是有意义的。
另请参阅 icon 、display 以及contentItem 。
Signal 文档
canceled()
当按钮在被按下时失去鼠标抓取状态,或者本应发出released 信号但鼠标光标未位于按钮内部时,会发出此信号。
注意: 相应的处理程序 是onCanceled 。
clicked()
当用户通过触摸、鼠标或键盘交互式地点击该按钮时,会触发此信号。
注意: 相应的处理程序 是onClicked 。
另请参阅 click()、animateClick() 以及“在按钮被点击时从 QML 调用 C++ 函数”。
doubleClicked()
当用户通过触摸或鼠标交互式地双击该按钮时,会触发此信号。
注意: 相应的处理程序 为onDoubleClicked 。
pressAndHold()
当用户通过触摸或鼠标交互式地按下并按住该按钮时,会触发此信号。如果启用了autoRepeat ,则不会触发此信号。
注意: 相应的处理程序 是onPressAndHold 。
pressed()
当用户通过触摸、鼠标或键盘交互式地按下按钮时,会触发此信号。
注意: 相应的处理程序 为onPressed 。
released()
当用户通过触摸、鼠标或键盘交互式地释放按钮时,会触发此信号。
注意: 相应的处理程序 是onReleased 。
[since QtQuick.Controls 2.2 (Qt 5.9)] toggled()
当用户通过触摸、鼠标或键盘交互式地切换可选中按钮的状态时,会触发此信号。
注意: 相应的处理函数 为onToggled 。
该信号在 QtQuick.Controls 2.2(Qt 5.9)中引入。
方法文档
[since Qt 6.8] void animateClick()
模拟按钮被点击,按下和松开之间有100毫秒的延迟,在此过程中显示其视觉状态的动画效果。
所有与点击相关的信号都会适时触发。
如果focusPolicy 包含Qt.ClickFocus ,则activeFocus 将变为true 。
如果按钮处于disabled 状态,则此函数不执行任何操作。
在按钮被释放之前再次调用此函数将重置释放计时器。
此方法在 Qt 6.8 中引入。
另请参见 click()、pressed()、released() 和clicked()。
[since Qt 6.8] void click()
模拟按钮被点击,按下和松开之间无延迟。
与点击相关的所有信号都会适时触发。
如果focusPolicy 包含Qt.ClickFocus ,则activeFocus 将变为true 。
如果按钮处于disabled 状态,则此函数不执行任何操作。
在按钮被释放之前再次调用此函数将重置释放计时器。
此方法在 Qt 6.8 中引入。
另请参阅 animateClick()、pressed()、released() 和clicked()。
void toggle()
切换按钮的选中状态。
另请参阅 click() 和animateClick()。
© 2026 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.
