拨盘旋钮 Dial

  • 属性
    angle : 可设置保持手柄的角度
    from : 保存范围的起始值。默认值为0.0
    handle : 保存转盘的手柄
    live : 保存在拖动手柄时拨盘是否为value属性提供实时更新
    position : 保存句柄的逻辑位置
    pressed : 保存是否按下拨盘
    snapMode : 保存捕捉模式
    stepSize : 保存步长
    to : 保存范围的最终值。默认值为1.0
    value : 保存值在from-to范围内。默认值为0.0
    wrap : 保存在拖动时是否绕转盘 启用或禁用换行

  • 方法
    decrease():将值减小stepSize(未设置则减小0.1)
    increase(): 将值增大stepSize(未设置则增大0.1)

  • 信号
    moved(): 当用户通过触摸,鼠标或按键以交互方式移动了转盘时,将发出此信号

  • 例1

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
//import QtGraphicalEffects 1.0Window {visible: truewidth: 360height: 360title: qsTr("Image")color: "lightyellow"Dial{id: dialanchors.centerIn: parentstepSize: 0.2Keys.onTabPressed: {dial.decrease()}}
}
  • 例2 自定义Dial
  • Dial有2个可视化控件:background(背景项)、handle(手柄项)
    手柄由小三角形改为圆形,背景项设置为圆形
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
//import QtGraphicalEffects 1.0Window {visible: truewidth: 360height: 360title: qsTr("Image")color: "lightyellow"Dial{id: dialanchors.centerIn: parentbackground: Rectangle {id:rectwidth: 200height: widthcolor: Qt.rgba(0,0,0,0)radius: width / 2border.color: dial.pressed ? "orange" : "green"}handle: Rectangle {id: handleItemx: dial.background.x + dial.background.width / 2 - width / 2y: dial.background.y + dial.background.height / 2 - height / 2width: 16height: 16color: dial.pressed ? "orange" : "green"radius: 8transform: [   //保存要应用的转换列表Translate {    //不更改其x或y属性的情况下移动项目的方法 沿y轴平移y: -Math.min(dial.background.width, dial.background.height) * 0.4 + handleItem.height / 2},Rotation { //旋转角度angle为我们移动手柄的角度。在设置旋转的原点即为手柄小球的中心。angle: dial.angleorigin.x: handleItem.width / 2origin.y: handleItem.height / 2}]}}
}

控件滑动开关 Switch

  • 开关按钮,处于2种状态之间选择。较大的选项集,可以用SwitchDelegate
  • 属性
    position : 保存滑动指示器的逻辑位置
    visualPosition : 保留滑动指示器的视觉位置
  • Switch有3个可视化项:background背景、contentitem内容、indicator指示器
  • 例1
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2Window {visible: truewidth: 360height: 360title: qsTr("Image")color: "lightyellow"Switch{anchors.centerIn: parent}
}
  • 例2

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2Window {visible: truewidth: 360height: 360title: qsTr("Image")color: "lightyellow"Switch {id: rootanchors.centerIn: parentindicator: Rectangle {  //设置可视项指示器 一个椭圆包裹着一个小球做x轴的平移width: 80height: 40radius: height / 2color: "blue"border.width: 2border.color: "blue"Rectangle {//只改变x轴 当开关被按下时,小球向右运动,x的坐标变为父矩形的宽度减去自身宽度,这里再减去1是为了不完全贴近开关的右侧x: root.checked ? parent.width - width - 1: 1width: parent.height - 2    //这样使得小球被包裹在父矩形内部,同样也留出了2px的空隙height: widthradius: width / 2anchors.verticalCenter: parent.verticalCentercolor: "white"}}}
}

qml 拨盘旋钮Dial 控件滑动开关Switch相关推荐

  1. QML做图片倒影效果(控件倒影)

    前言 用 QML 做图片倒影,主要是用ShaderEffect组件来实现,先来看看实际效果,如下: 还可以用同样的方式来做其他控件的倒影,例如: 正文 直接来看源码 import QtQuick 2. ...

  2. QML自定义的日历控件

    QML中提供了日历的控件Calendar,但该控件为QtQuick.Controls 1中提供的控件,因此只能使用QtQuick.Controls.Styles的方式对该控件进行设置,效果如图: 在Q ...

  3. RT-Thread 模拟器 simulator LVGL控件:switch 开关按钮控件

    前言 switch button : 开关按钮控件,用的也比较多,这里熟悉下相关的操作 switch 有两个状态:开与关 环境搭建 RT-Thread 4.1.0 或最新版本 BSP 模拟器 simu ...

  4. QML 自定义控件 时间滚筒控件

    QML 仿手机时间滚筒控件 效果:共3中模式  "Date" | "Time" | "DateTime" main.qml MouseAre ...

  5. qml 时间控件_Qt编写自定义控件54-时钟仪表盘

    一.前言 这个控件没有太多的应用场景,主要就是练手,论美观的话比不上之前发过的一个图片时钟控件,所以此控件也是作为一个基础的绘制demo出现在Qt源码中,我们可以在Qt的安装目录下找到一个时钟控件的绘 ...

  6. Android Switch和ToggleButton控件

    1. Switch类 Switch类被用来展示状态. android:checked设置是否打开 自定义Switch, android:track设置背景 android:thumb设置选择背景 an ...

  7. Qml控件设置字体样式

    Qml中的部分控件支持设置字体样式,如Control控件有font属性,可以用来设置字体样式(除了字体的颜色),按照正确的格式编写才可以运行正常. 正确编写格式如下: import QtQuick 2 ...

  8. QML入门教程(4): QML矩形框控件Rectangle用法

    QML提供了矩形控件 代码如下: import QtQuick 2.12 import QtQuick.Window 2.12Window {visible: truewidth: 640height ...

  9. QT中常用的输入控件

    Qt Creator有15种Input Widgets,如下图:     Input Widgets的Qt类和名称介绍如下表 控件类     控件名     中文名     控件类     控件名   ...

最新文章

  1. ASP.NET MVC 控制器激活(二)
  2. 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
  3. Git 实用操作 | 撤销 Commit 提交
  4. 【计算机网络】计算机网络概述
  5. C++ 用遗传算法解决TSP问题,旅行商问题
  6. js基础知识汇总03
  7. Introduction to Computer Networking学习笔记(四):路由转发表及转发规则
  8. GB28181协议RTP传输
  9. python 音乐播放器
  10. Win7 蓝牙耳机无法使用
  11. 钢琴调律经验(菜鸟版)
  12. 网页特殊符号(HTML字符实体)大全
  13. 431 Request Header Fields Too Large
  14. 《最终幻想》《古墓丽影》发行商Square Enix开始涉足NFTs和区块链游戏
  15. vs2015 - vs2010
  16. JS 通过日期判断当前日期所在周的周一到周日的日期
  17. mysql子查询效率高_mysql利用子查询效率怎么样
  18. 小孢子的神奇之旅-如何阅读MindSpore报错信息(1)
  19. 高通全新骁龙7c/8c/8cx计算平台介绍
  20. HtmlUnit抓取Ajax网页,例子是去哪儿机票

热门文章

  1. Spyder快捷键推荐设置
  2. 2021数字化转型白皮书 附下载
  3. PLC信号处理之平均值滤波(SMART PLC指针应用)
  4. intel945显卡linux驱动,ubuntu 9.10 compiz 3d 桌面安装(intel 945显卡)
  5. 继电器Relay:ZZR08
  6. SpringBoot+Vue 驾校理论课模拟考试系统
  7. 【TIPTOP】ERP发起接口例子(客户端)
  8. WebApi传参总动员(五)
  9. 树莓派上安装Pytorch
  10. MATLAB数学建模(4)-数据的统计和分析