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

Qt/QML学习-Dial

QML学习

  • Dial例程
  • 视频讲解
  • 代码

main.qml

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")Dial {anchors.fill: parentid: dial// 设置旋钮的范围from: 0to: 100// 设置旋钮的初始值value: 50// 设置旋钮的步长stepSize: 0.1// 监听旋钮值变化的信号onValueChanged: {label.text = value.toFixed(1);}// 计算弧度property real angleInRadian: (dial.angle * Math.PI) / 180// 背景视图以中心为原点(0, 0)来计算,(0, radius)是初始坐标property real coeff: 30// 计算旋转后的坐标property real angleX: - (backgroundRect.radius - coeff) * Math.sin(angleInRadian)property real angleY: (backgroundRect.radius - coeff) * Math.cos(angleInRadian)// 绘制手柄handle: Rectangle {radius: 0width: dial.coeffheight: dial.coeffcolor: "transparent"border.width: 1x: parent.width / 2 - parent.angleX - (width / 2)y: parent.height / 2 - parent.angleY - (height / 2)rotation: dial.angle}// 绘制背景background: Rectangle {id: backgroundRectradius: (dial.width > dial.height)? (dial.height / 2): (dial.width / 2)width: radius * 2height: radius * 2anchors.centerIn: dialcolor: "transparent"border.width: 1Canvas {anchors.fill: parentonPaint: {draw()}function draw() {var ctx = getContext("2d")// 绘制背景ctx.clearRect(0, 0, width, height)// 背景动态与角度绑定ctx.beginPath();ctx.arc(width / 2, height / 2,backgroundRect.radius - dial.coeff,(-140 - 90) * Math.PI / 180,(dial.angle - 90) * Math.PI / 180, false);ctx.stroke();requestAnimationFrame(draw)}}}// 中心位置显示数值Label {id: labeltext: "0"font.bold: truefont.pixelSize: 30anchors.centerIn: parent}}
}

演示

视频讲解


http://www.mrgr.cn/news/720.html

相关文章:

  • 贪心算法---跳跃游戏
  • 牛客网SQL 练习二
  • SpringBoot的事务/调度/缓存/邮件发送和一些Spring知识点总结
  • 虚幻5|布料模拟
  • 机器学习——全连接(MLP多层感知机)的理解
  • LLMs之Llama Coder:llama-coder的简介、安装和使用方法、案例应用之详细攻略
  • 一键运行RocketMQ5.3和Dashboard
  • 高可用负载均衡集群
  • C++的序列容器——数组
  • Docker Containerd初体验
  • 博达网站群管理平台 v6.0使用相关问题解决
  • [NOIP2007 普及组] 守望者的逃离 题解
  • 数据结构(03):线性表的逻辑结构
  • 《AI视频类工具之十——​D-ID》
  • web小游戏开发:拼图——蜂巢拼图
  • Java封装httpClient
  • ABBYY FineReader PDF v16.0 中文绿色便携免安装版本 下载 PDF转Word 截图文字提取 文档差异对比 泰比专业OCR文字识别工具
  • 【Linux】内核全量函数添加日志打印摸索
  • 高性能内存对象缓存Memcached原理与部署
  • 支付宝沙箱模拟支付的实现