个人主页:pp不会算法v
版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主
如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
QML系列教程
QML教程一:布局组件
文章目录
- AbstractButton
-
- 普通按钮Button
-
- 单选按钮RadioButton
-
- 复选框CheckBox
-
- 开关Switch
-
AbstractButton
这是Button, CheckBox, DelayButton, ItemDelegate, MenuBarItem, MenuItem, RadioButton, Switch, and TabButton的共同父类
属性
属性表格:
属性 |
描述 |
默认值 |
action |
按钮的动作。 |
无 |
autoExclusive |
是否启用自动互斥。 |
false |
autoRepeat |
当按钮被按下并保持按下时,是否重复触发 pressed()、released() 和 clicked() 信号。 |
false |
autoRepeatDelay |
自动重复触发开始的延迟时间(毫秒)。 |
300 |
autoRepeatInterval |
自动重复触发的时间间隔(毫秒)。 |
100 |
checkable |
按钮是否可选中。 |
false |
checked |
按钮是否已选中。 |
false |
display |
按钮中图标和文本的显示方式。 |
TextBesideIcon |
down |
按钮是否处于按下状态。 |
undefined |
icon.name |
图标的名称。 |
“” |
icon.source |
图标的源文件路径。 |
“” |
icon.width |
图标的宽度。 |
0 |
icon.height |
图标的高度。 |
0 |
icon.color |
图标的颜色。 |
无 |
implicitIndicatorHeight |
隐式指示器的高度。 |
0 |
implicitIndicatorWidth |
隐式指示器的宽度。 |
0 |
indicator |
按钮上的指示器项。 |
无 |
pressX |
最后一次按下时的 x 坐标。 |
无 |
pressY |
最后一次按下时的 y 坐标。 |
无 |
pressed |
按钮是否处于物理按下状态。 |
false |
text |
按钮的文本描述。 |
“” |
信号
信号名 |
描述 |
canceled |
当按钮在被按下状态下失去焦点或鼠标抓取时发出。 |
clicked |
当用户通过触摸、鼠标或键盘与按钮进行交互时发出。 |
doubleClicked |
当用户通过触摸或鼠标双击与按钮进行交互时发出。 |
pressAndHold |
当用户通过触摸或鼠标长按与按钮进行交互时发出。 |
pressed |
当用户通过触摸、鼠标或键盘按下与按钮进行交互时发出。 |
released |
当用户通过触摸、鼠标或键盘释放与按钮进行交互时发出。 |
toggled |
当用户通过触摸、鼠标或键盘切换可选中按钮的选中状态时发出。 |
函数
普通按钮Button
属性
属性 |
说明 |
flat |
按钮是否为扁平样式。 flat 属性决定按钮是否为扁平样式。扁平按钮通常只在被按下或选中时才会绘制背景。默认值为false 。 |
highlighted |
按钮是否为高亮状态。 highlighted 属性决定按钮是否为高亮状态。高亮状态可用于吸引用户注意力,对键盘交互没有影响。默认值为false 。 |
示例
Button {
height: 50
width: 80
text: "普通按钮"
anchors.centerIn: parent
background: Rectangle {
id: buttonBackground
color: "pink"
radius: 5
border.width: 0
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
buttonBackground.color ="#5FB0F3"
}
onExited: {
buttonBackground.color = "pink"
}
onClicked: {
console.log("点击了按钮")
}
}
}
单选按钮RadioButton
RadioButton提供了一个选项按钮,可以打开(选中)或关闭(未选中)。单选按钮通常用于从一组选项中选择一个选项。
RadioButton从AbstractButton继承其API。例如,您可以使用AbstractButton
API设置文本并对点击做出反应。单选按钮的状态可以使用选中的属性进行设置。
默认情况下,单选按钮是自动独占的。在属于同一父项的单选按钮中,任何时候只能检查一个按钮;选中另一个按钮会自动取消选中先前选中的按钮。对于不共享公共父级的单选按钮,ButtonGroup可用于管理独占性。
RadioDelegate类似于RadioButton,只是它通常用于视图中。
示例
ColumnLayout {
RadioButton {
checked: true
text: qsTr("First")
}
RadioButton {
text: qsTr("Second")
}
RadioButton {
text: qsTr("Third")
}
}
复选框CheckBox
属性
属性 |
描述 |
默认值 |
checkState |
复选框的选中状态。 |
无 |
nextCheckState |
确定用户交互切换复选框时下一个选中状态的回调函数。 |
无 |
tristate |
复选框是否为三态复选框。 |
false |
checkState 值 |
描述 |
Qt.Unchecked |
复选框未选中状态。 |
Qt.PartiallyChecked |
复选框处于部分选中状态。仅当 tristate 启用时才使用此状态。 |
Qt.Checked |
复选框已选中状态。 |
示例
Column {
ButtonGroup {
id: childGroup
exclusive: false
checkState: parentBox.checkState
}
CheckBox {
id: parentBox
text: qsTr("Parent")
checkState: childGroup.checkState
}
CheckBox {
checked: true
text: qsTr("Child 1")
leftPadding: indicator.width
ButtonGroup.group: childGroup
}
CheckBox {
text: qsTr("Child 2")
leftPadding: indicator.width
ButtonGroup.group: childGroup
}
}
开关Switch
属性
属性名 |
说明 |
默认值 |
position (只读) |
逻辑位置 |
0 |
visualPosition (只读) |
视觉位置 |
0 |
二者的区别 position只能是0或者1表示开关的关和开两种状态 |
|
|
visulPosition表示你实际看到开关你的圆点所在的位置范围为0.0~1.0, |
|
|
示例
ColumnLayout {
Switch {
text: qsTr("Wi-Fi")
}
Switch {
text: qsTr("Bluetooth")
}
}
s