QML入门教程(10) : QML圆形延时按钮
QML提供了延时按钮DelayButton,我们可以对其自定义,如下图:
代码
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.5Window {visible: truewidth: 640height: 480title: qsTr("圆形延时按钮")DelayButton {id: controlchecked: truetext: qsTr("延时动作")x:30y:30//延时时间设置,5秒。默认得是3秒delay:5000contentItem: Text {text: control.textfont: control.fontopacity: enabled ? 1.0 : 0.3color: "white"horizontalAlignment: Text.AlignHCenterverticalAlignment: Text.AlignVCenterelide: Text.ElideRight}background: Rectangle {implicitWidth: 100implicitHeight: 100opacity: enabled ? 1 : 0.3color: control.down ? "#17a81a" : "#21be2b"radius: size / 2readonly property real size: Math.min(control.width, control.height)width: sizeheight: sizeanchors.centerIn: parentCanvas {id: canvasanchors.fill: parentConnections {target: controlonProgressChanged: canvas.requestPaint()}onPaint: {var ctx = getContext("2d")ctx.clearRect(0, 0, width, height)ctx.strokeStyle = "white"ctx.lineWidth = parent.size / 20ctx.beginPath()var startAngle = Math.PI / 5 * 3var endAngle = startAngle + control.progress * Math.PI / 5 * 9ctx.arc(width / 2, height / 2, width / 2 - ctx.lineWidth / 2 - 2, startAngle, endAngle)ctx.stroke()}}}//延时结束时的信号槽onActivated: {//5秒后才能打印这句话console.log("延时结束了")}}
}
QML入门教程(10) : QML圆形延时按钮相关推荐
- QML入门教程(2): QML Button用法介绍
Button是很常见的控件,Qt助手的说明如下: Button QML Type Push-button that can be clicked to perform a command or ans ...
- QML入门教程(4): QML矩形框控件Rectangle用法
QML提供了矩形控件 代码如下: import QtQuick 2.12 import QtQuick.Window 2.12Window {visible: truewidth: 640height ...
- Android基础入门教程——10.1 TelephonyManager(电话管理器)
Android基础入门教程--10.1 TelephonyManager(电话管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本章节是Android基础入门教程的最后一章,主要讲 ...
- Android基础入门教程——10.4 Vibrator(振动器)
Android基础入门教程--10.4 Vibrator(振动器) 标签(空格分隔): Android基础入门教程 本节引言: 本节我们介绍的是Vibrator(振动器),是手机自带的振动器,别去百度 ...
- android9壁纸存放路径,Android基础入门教程——10.9 WallpaperManager(壁纸管理器)
Android基础入门教程--10.9 WallpaperManager(壁纸管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是WallpaperManager( ...
- Android基础入门教程——10.9 WallpaperManager(壁纸管理器)
Android基础入门教程--10.9 WallpaperManager(壁纸管理器) 标签(空格分隔): Android基础入门教程 本节引言: 本节给大家带来的是WallpaperManager( ...
- 舵机任意角度程序_【舵机初动】基于Mind+ Ardunio入门教程10
点击上方"蘑菇云创造"可以关注我们哦 本项目要接触到舵机.舵机是一种电机,它使用一个反馈系统来控制电机的位置.可以很好掌握电机角度.大多数舵机是可以最大旋转180°的.也有一些能转 ...
- arduino舵机达180不到_【舵机初动】基于Mind+ Ardunio入门教程10
点击上方"蘑菇云创造"可以关注我们哦 本项目要接触到舵机.舵机是一种电机,它使用一个反馈系统来控制电机的位置.可以很好掌握电机角度.大多数舵机是可以最大旋转180°的.也有一些能转 ...
- QML入门教程:一、QML和QtQuick简介以及QML实例
从 Qt 4.7 开始,Qt 引入了一种声明式脚本语言,称为 QML(Qt Meta Language 或者 Qt Modeling Language),作为 C++ 语言的一种替代.而 Qt Qui ...
最新文章
- Jenkins +maven+tomcat自动构建部署(学习笔记三十六)
- ArcGIS网络分析之构建网络分析数据集(一)
- 中国城市园林绿化行业十四五规划方向与投资前景建议报告2022版
- php显示无法找到该网页,window_Win8系统IE浏览器提示无法找到该网页的解决方法, 我们在浏览网页的时候, - phpStudy...
- freemarker生成word模板
- 如何巧妙的申请换部门_如何设置户外广告?市城管局局长体验户外广告审批流程...
- 面试题 php随机获取概率结果
- 老男孩python分享视频
- HDU2024 C语言合法标识符【文本处理】
- c语言用switch做一个计算器,求助。。关于用switch编写简易计算器
- java error_java基础:Error和Exception
- B站视频下载与字幕下载转换
- SE11字段过多时怎么快速建表
- 问题 E: LZY去年买了个表
- Android渠道包构建流程
- 正点原子开发板STM32F407ZG-基于AD7606进行八路数据采集
- nginx——反向代理,https加密证书,重定向
- oracle dbms_crypto,dbms_crypto函数包的简单介绍
- 闲谈 bypass AV
- 什么是ETL,ETL是什么技术?