----- AbstractButton -----


https://doc.qt.io/qt-6.9/zh/qml-qtquick-controls-abstractbutton.html

 继承者 
import QtQuick.Controls
    
Button
CheckBox  //多选或开关
DelayButton  //延时按钮,按住触发
ItemDelegate  //基本项目委托,可用于各种视图和控件
MenuBarItem  //在MenuBar 中显示下拉菜单
MenuItem  //显示菜单中的一个项目
RadioButton  //多用于单选按钮
Switch
TabButton  //与TabBar 结合使用


 属性 
import QtQuick.Controls
    
ButtomName {
    action: Action  //类型:动作
    autoExclusive: bool
        //自动排他性,非全部有效
        //启用后,同父级下的按钮只能有一个选中,并且最少选中一个(针对 CheckBox)
        //对属于ButtonGroup 的按钮不起作用
        //RadioButton 和TabButton 默认为自动排他性
    autoRepeat: bool
        //按住时是否重复发送pressed(),released() 和clicked() 信号
        //true ,不会发出pressAndHold() 信号
        //初始延迟和重复间隔由autoRepeatDelay 和autoRepeatInterval 定义,单位为毫秒
        //默认 false
    autoRepeatDelay: int
        //自动重复启用时,第一次的间隔时间。默认值 300 ms
        //从按下到第一次出发的时间为 autoRepeatDelay + autoRepeatInterval
    autoRepeatInterval: int
        //自动重复启用时,第一次的间隔时间。默认值 100 ms
    checkable: bool
        //是否可选中,非禁用
        //Switch 不可点击切换状态,但可以拖动切换
    checked: bool  //是否选中
    
    display: enumeration  //icon 和 text 在按钮中的显示方式
        display: AbstractButton.IconOnly  //仅图标
        display: AbstractButton.TextOnly  //仅文本
        display: AbstractButton.TextBesideIcon  //左右排布,图标在左
        display: AbstractButton.TextUnderIcon  //上下排布,图标在上
    
    down: bool
        //是否被按下,除非明确设置,否则该属性将沿用 pressed 的值
        //要返回默认值,将该属性设置为 undefined
        //展示按下视觉效果,false 关闭效果
    
    //icon group
    icon.cache: bool  //是否缓存图标,默认 true
    icon.color: color
        //颜色设置为"transparent" ,可保持图片原色
    icon.width: int
        //图标的宽度永远不会超过此值,但必要时会缩小
    icon.height: int
        //图标的高度永远不会超过此值,但必要时会缩小
    icon.name: string
        //图标将从平台主题中加载
        //如果在主题中找到该图标,则将始终使用该图标
        //如果找不到图标,则将使用 icon.source 代替
        //优先于 icon.source
    icon.source: url
        //图标将作为普通图片加载
    
    indicator: Item
        //指标项
    text: string
        //按钮的文字描述
        //文本用于可访问性目的,因此即使内容项是图像,也应设置文本描述
}


 只读属性 
import QtQuick.Controls
    
ButtomName {
    implicitIndicatorWidth(Height): real
        //隐式指示器 宽/高度
        //值等于indicator ? indicator.implicit(Width/Height) : 0
        //通常与implicitContent(Width/Height) 和implicitBackground(Width/Height) 一起用于计算implicit(Width/Height)
    pressX(Y): real
        //最后一次按下的 x / y 坐标
        //该值在触摸移动时更新,触摸释放后保持不变
    pressed: bool  //按钮是否被按下
}


 信号 
import QtQuick.Controls
    
ButtomName {
    canceled()
    onCanceled: {
        //按下,鼠标移出按钮区域发出
    }
    
    clicked()
    onClicked: {
        //点击,发出
    }
    
    doubleClicked()
    onDoubleClicked: {
        //双击,发出
    }
    
    pressAndHold()
    onPressAndHold: {
        //按住,发出
        //启用 autoRepeat 时不会发出
    }
    
    pressed()
    onPressed: {
        //按下,发出
    }
    
    released()
    onCanceled: {
        //释放按钮,发出
    }
    
    toggled()
    onToggled: {
        //切换可复选按钮时,发出
    }
}


 方法 
void animateClick()
    //模拟点击,在按下和松开之间有 100ms 的延迟
    //过程中对按钮的视觉状态进行动画处理
    //如果按钮是 disabled ,则不会执行任何操作
    //释放按钮之前再次调用该函数将重置释放计时器
void click()
    //模拟点击,按下和松开之间没有延迟
    //如果按钮是 disabled ,则不会执行任何操作
    //释放按钮之前再次调用该函数将重置释放计时器
void toggle()
    //切换按钮的选中状态