当前位置: 首页 > article >正文

7. qml按键最优解

目录

  • qml自带按键
  • 状态按键
  • 长按按键
  • 延时按键
  • 防抖按键

qml自带按键

在这里插入图片描述
官网列出了他扩展的按键派生与AbstractButton
Button
CheckBox
DelayButton
ltemDelegate
MenuBarltem
Menultem
RadioButton
switch
TabButton
一般开发的过程中根据业务的不同进行选择
AbstractButton

状态按键

RadioButton,CheckBox,switch算是他们的衍生,单选框,多选框,切换按键

checkable: true
checked: false

往往与ButtonGroup息息相关作为组控制

长按按键

 autoRepeat: true
 autoRepeatDelay: 300
 autoRepeatInterval: 100

延时按键

需要使用DelayButton
需要当进度0-1的时候,才会触发actived()信号
这里有个问题就是当delay设置低于500ms,达到1松开太快偶尔会卡住

delay: 1000 //延时时间

防抖按键

在规定的时间内重复点击按键只会执行一次,最后一次点击就执行
如果一直频繁点击,触发执行就会一直延迟,这就是按键防抖的原理
使用这个原因是执行方法耗时,频繁点击会导致无意义多次调用接口,影响性能
借用定时器Timer就可以实现了

import QtQuick 2.0
import QtQuick.Controls 2.12

Button {

    id: control
    property int delay : 100
    signal activated();

    onPressed: {
        timer.restart();
    }

    Timer{
        id: timer
        repeat: false
        running: false
        interval: delay
        onTriggered: control.activated();
    }

}


http://www.kler.cn/news/303723.html

相关文章:

  • 开源多场景问答社区论坛Apache Answer本地部署并发布至公网使用
  • 查谷歌流量什么最准确,服务商提供的工具为什么不能用?
  • 基于鸿蒙API10的RTSP播放器(二:视频切换实现)
  • 微信小程序中事件触发机制及防抖节流
  • 【生日视频制作】公司前台接待形象墙字写字楼办公室写字AE模板修改文字软件一键生成器教程特效素材【AE模板】
  • 获取zabbix API 监控数据shell脚本,自动日常巡检服务器信息、并发送指定群组
  • 【JavaScript】JS代码执行流程
  • [C#学习笔记]接口的特性与用法
  • OceanBase 基于企业版本OAT安装与OMS安装与InfluxDB的集成
  • Spring Boot 框架下的房屋租赁业务创新
  • react 组件化开发_生命周期_表单处理
  • 【python2C】1. 输入 (补)
  • Ai产品经理
  • 网络搜索记录会被监控吗?一文带你看懂【打工人必看】
  • 新书速览|循序渐进Vue.js 3.x前端开发实践
  • 上海证券交易所特定参与者接口规格说明书(托管银行卷)1.35 版
  • GitHub Copilot Issue in Visual Studio Code “Status Ready (disabled)“
  • SpringBoot开发——整合Redis
  • 鸿蒙NEXT(API 12)【蓝牙设置】 网络开发
  • 基于SpringBoot+Vue+MySQL的笔记记录分享网站
  • “阡陌云旅”黄河九省文化旅游平台
  • solidity-19-fallback
  • LeetCode之二叉搜索树
  • uniapp登录页面( 适配:pc、小程序、h5)
  • Leetcode面试经典150题-349.两个数组的交集
  • 设计模式 -- 单例设计模式
  • 新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类
  • Kubernetes+Minio+Velero:终极备份解决方案
  • 汽车无钥匙启动功能工作原理
  • 产学研合作赋能产业升级新动能