qml保姆级教程四:按钮组件

💂 个人主页: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当用户通过触摸、鼠标或键盘切换可选中按钮的选中状态时发出。

函数

方法名描述
toggle切换按钮的选中状态。

普通按钮Button

属性

属性说明
flat按钮是否为扁平样式。 flat属性决定按钮是否为扁平样式。扁平按钮通常只在被按下或选中时才会绘制背景。默认值为false
highlighted按钮是否为高亮状态。 highlighted属性决定按钮是否为高亮状态。高亮状态可用于吸引用户注意力,对键盘交互没有影响。默认值为false

示例

    Button {height: 50width: 80text: "普通按钮"anchors.centerIn: parentbackground: Rectangle {id: buttonBackgroundcolor: "pink"radius: 5border.width: 0}MouseArea {anchors.fill: parenthoverEnabled: trueonEntered: {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: childGroupexclusive: falsecheckState: parentBox.checkState}CheckBox {id: parentBoxtext: qsTr("Parent")checkState: childGroup.checkState}CheckBox {checked: truetext: qsTr("Child 1")leftPadding: indicator.widthButtonGroup.group: childGroup}CheckBox {text: qsTr("Child 2")leftPadding: indicator.widthButtonGroup.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/125541.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云安全之等级保护详解

等级保护概念 网络安全等级保护,是对信息系统分等级实行安全保护,对信息系统中使用的安全产品实行按等级管理,对信息系统中发生的信息安全事件分等级进行响应、处置。 网络安全等级保护的核心内容是:国家制定统一的政策、标准&a…

2. 资源管理

2. 资源管理 文章目录 2. 资源管理2.1 资源管理介绍2.2 YAML语言介绍2.3 资源管理方式2.2.1 命令式对象管理2.2.2 命令式对象配置2.2.3 声明式对象配置 2.4. 模拟使用普通用户来操作 2.1 资源管理介绍 在kubernetes中,所有的内容都抽象为资源,用户需要通…

idea环境下如何打包可运行jar?

工作中有时候偶尔写一些工具类、小程序,可是java程序员制作一个可运行jar实在折腾,利用idea开发环境,可以快速打包自己的可运行jar。具体怎么操作呢? 创建一个空白的java项目并完成自己的程序开发 完成java代码: /**…

1798_GNU pdf阅读器evince_支持的格式

全部学习汇总: GreyZhang/g_GNU: After some years I found that I do need some free air, so dive into GNU again! (github.com) 顺着之前的wiki了解的文档,这一次看看evince支持的文件格式。关于这部分,原始的介绍网页链接: A…

CCF CSP认证 历年题目自练Day21

题目一 试题编号: 201909-1 试题名称: 小明种苹果 时间限制: 2.0s 内存限制: 512.0MB 题目分析(个人理解) 先看输入,第一行输入苹果的棵树n和每一次掉的苹果数m还是先如何存的问题&#xf…

httpserver 下载服务器demo 以及libevent版本的 httpserver

实现效果如下&#xff1a; 图片可以直接显示 cpp h 这些可以直接显示 其他的 则是提示是否要下载 单线程 还有bug 代码如下 先放上来 #include "httpserver.h" #include "stdio.h" #include <stdlib.h> #include <arpa/inet.h> #include…

【逐步剖C】-第十一章-动态内存管理

一、为什么要有动态内存管理 从我们平常的学习经历来看&#xff0c;所开辟的数组一般都为固定长度大小的数组&#xff1b;但从很多现实需求来看需要我们开辟一个长度“可变”的数组&#xff0c;即这个数组的大小不能在建立数组时就指定&#xff0c;需要根据某个变量作为标准。…

【软件测试】自动化测试selenium(二)

文章目录 三. 掌握Selenium常用的API使用1. webdriver API2. 操作测试对象3. 添加等待4. 打印信息5. 浏览器的操作6. 键盘事件7. 鼠标事件8. 定位一组元素9. 多层框架/窗口定位10. 下拉框处理11. 弹窗处理12. 上传文件13. 关闭浏览器14. 切换窗口15. 截图操作 三. 掌握Selenium…

Linux——指令初识

Linux下基本指令 前言一、 ls 指令二、 pwd命令三、cd 指令四、 touch指令五、mkdir指令六、rmdir指令 && rm 指令七、man指令八、cp指令九、mv指令十、cat指令十一、.more指令十二、less指令十三、head指令十四、tail指令总结 前言 linux的学习开始啦&#xff01; 今…

玩转ChatGPT:DALL·E 3生成图像

一、写在前面 好久不更新咯&#xff0c;因为没有什么有意思的东西分享的。 今天更新&#xff0c;是因为GPT整合了自家的图像生成工具&#xff0c;名字叫作DALLE 3。 DALLE 3是OpenAI推出的一种生成图像的模型&#xff0c;它基于GPT-3架构进行训练&#xff0c;但是它的主要目…

Java编程技巧:跨域

目录 1、跨域概念2、后端CORS&#xff08;跨域资源共享&#xff09;配置原理3、既然请求跨域了&#xff0c;那么请求到底发出去没有&#xff1f;4、通过后端CORS&#xff08;跨域资源共享&#xff09;配置解决跨域问题代码4.1、SpringBoot&#xff08;FilterRegistrationBean&a…

Redis与分布式-集群搭建

接上文 Redis与分布式-哨兵模式 1. 集群搭建 搭建简单的redis集群&#xff0c;创建6个配置&#xff0c;开启集群模式&#xff0c;将之前配置过的redis删除&#xff0c;重新复制6份 针对主节点redis 1&#xff0c;redis 2&#xff0c;redis 3都是以上修改内容&#xff0c;只是…