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

news2024/11/19 7:27:26

💂 个人主页: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: 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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汽车类、TPS7B8225QDGNRQ1、TPS7B8233EPWPRQ1、TPS7B8601QKVURQ1 40V、低压降 (LDO) 线性稳压器

一、TPS7B82-Q1 汽车类 300mA、高压、超低 IQ 低压降稳压器 (介绍)在汽车电池连接应用中,低静态电流 (IQ) 对于省电和延长电池寿命而言至关重要。对于始终开启的系统,必须要实现超低 IQ。 TPS7B82-Q1 是一款旨在在 3V 至 40V&…

Java毕业设计 SpringBoot 网上体育商城系统 商城系统

Java毕业设计 SpringBoot 网上体育商城系统 商城系统 SpringBoot 网上体育商城系统 功能介绍 首页 图片轮播 搜索 用户登录注册 商品信息 商品分类 商品详情 收藏 评论 添加到购物车 立即购买 购物车 确认下单 公告信息 留言反馈 个人中心 修改个人信息 我的订单 退款 我的地…

地图资源下载工具2.0

一、简介 地图资源工具是一款用于GIS数据下载的工具,用于GIS数据矢量、遥感数据的查询、下载及浏览。下载数据包括:哨兵(Sentinel)系列,LANDSAT系列,MODIS系列、ASTER系列、GOES系列、OPENSTREETMAP数据…

传输层协议—TCP协议

传输层协议—TCP协议 文章目录 传输层协议—TCP协议TCP协议段格式四位首部长度TCP协议如何根据目的端口号将数据传输给指定进程?32位序列号和32位确认序列号可靠性问题 TCP报头标志位16位紧急指针16位检验和确认应答机制超时重传机制再谈三次握手四次挥手 连接管理机…

XC5013 马达驱动和充电集成一体的控制芯片 一档输出芯片

XC5013 是一款应用于马达驱动或 LED 驱动的控制芯片,集成了锂电池充电管理系统,设定一档高电平输 出,并带有对不同状态的 LED 指示功能。 XC5013 集成了涓流充电、恒流充电和恒压充电全过程的充电方式,浮充电压精度在全温度范…

GEE16: 区域日均降水量计算

Precipitation 1. 区域日均降水量计算2. 降水时间序列3. 降水数据年度时间序列对比分析 1. 区域日均降水量计算 今天分析一个计算区域日均降水量的方法: 数据信息:   Climate Hazards Group InfraRed Precipitation with Station data (CHIRPS) is a…

国庆假期作业6

一、ARM的工作模式 1、非特权模式 user模式:非特权模式,大部分任务执行在这种模式 2、特权模式 异常模式: FIQ : 当一个快速(fast) 中断产生时将会进入这种模式 IRQ : 当一个通用(normal) 中断产生时将会进入这种模式…

物联网系统中物模型定义的简要说明

物模型由若干条“参数”组成,参数按描述的功能类型不同,又分为属性、方法和事件。 标准参数 为了实现设备功能的统一理解。 说的直白一些的理解,可以这样去理解: 属性,就是定义的由设备端规律性的定期上报的数据。 事件,就是定…

【在凸多边形的图像中查找顶点】估计具有已知顶点数的像素化凸多边形角点研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

2.2.3.1vim + ctags + cscope + taglist

在window下,我们一般用Source Insight来查看代码而在linux下,使用vim来查看代码,vim是一个简单的文本浏览/编辑器,它可以通过插件的形式,搭建一个完全的类Source Insight环境,通过快捷键的形式,快速查看、定位变量/函数,本文就是基于vim,通过ctags+cscope+taglist+Ner…

剑指offer——JZ77 按之字形顺序打印二叉树 解题思路与具体代码【C++】

一、题目描述与要求 按之字形顺序打印二叉树_牛客题霸_牛客网 (nowcoder.com) 题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围&#x…

【计算机视觉|人脸建模】学习从4D扫描中获取的面部形状和表情的模型

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:Learning a model of facial shape and expression from 4D scans 链接:Learning a model of facial shape and expression from 4D scans | ACM Transactions on Graphics Pe…

【网络】抓包工具Wireshark下载安装和基本使用教程

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助&#x1…

Qt + FFmpeg 搭建 Windows 开发环境

Qt FFmpeg 搭建 Windows 开发环境 Qt FFmpeg 搭建 Windows 开发环境安装 Qt Creator下载 FFmpeg 编译包测试 Qt FFmpeg踩坑解决方法1:换一个 FFmpeg 库解决方法2:把项目改成 64 位 后记 官方博客:https://www.yafeilinux.com/ Qt开源社区…

小程序入门笔记(一) 黑马程序员前端微信小程序开发教程

微信小程序基本介绍 小程序和普通网页有以下几点区别: 运行环境:小程序可以在手机的操作系统上直接运行,如微信、支付宝等;而普通网页需要在浏览器中打开才能运行。 开发技术:小程序采用前端技术进行开发,…

Interference Signal Recognition Based on Multi-Modal Deep Learning

系统结构 基于决策的融合实际上是用损失函数监督融合模型 其中 N N N是训练样本的数量 体会 作者未解释公式4的 t i t_i ti​的含义且不公布代码

[尚硅谷React笔记]——第3章 React应用(基于React脚手架)

目录: react脚手架创建项目并启动react脚手架项目结构一个简单的Hello组件样式的模块化功能界面的组件化编码流程(通用)组件的组合使用-TodoList 1.react脚手架 xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需…

ctfshow web入门 php特性 web131-web135

1.web131 和上题一样差不多,正则最大回溯次数绕过 import requests url"" data{f:very*250000360Dctfshow } rrequests.post(url,datadata) print(r.text)2.web132 通过扫描发现robots.txt,访问/admin发现源码 &&和||都是短路运算符 只要满足co…

【LittleXi】【MIT6.S081-2020Fall】Lab: locks

【MIT6.S081-2020Fall】Lab: locks 【MIT6.S081-2020Fall】Lab: locks内存分配实验内存分配实验准备实验目的1. 举一个例子说明修改前的**kernel/kalloc.c**中如果没有锁会导致哪些进程间竞争(races)问题2. 说明修改前的kernel/kalloc.c中锁竞争contention问题及其后果3. 解释a…

使用Jest测试Cesium源码

使用Jest测试Cesium源码 介绍环境Cesium安装Jest安装Jest模块包安装babel安装Jest的VSC插件 测试例子小结 介绍 在使用Cesium时,我们常常需要编写自己的业务代码,其中需要引用Cesium的源码,这样方便调试。此外,目前代码中直接使用…