> 文章列表 > QML控件--Dial

QML控件--Dial

QML控件--Dial

文章目录

  • 一、控件基本信息
  • 二、控件使用
  • 三、属性成员
  • 四、成员函数
  • 五、信号

一、控件基本信息

Import Statement:import QtQuick.Controls 2.14
Since:Qt 5.7
Inherits:Control


二、控件使用

Dial:是一个旋钮控件;
在这里插入图片描述

import QtQuick 2.10
import QtQuick.Window 2.10
import QtQuick.Controls 2.3ApplicationWindow{visible: true;width: 1280;height: 720;Label{id: lbl;text: "0";font.bold: true;font.pixelSize: 28;anchors.centerIn: parent;}Dial {id: dial//Keys.onLeftPressed: {}snapMode: Dial.SnapAlways;stepSize: 0.1;wrap: true;onMoved: {lbl.text = value;}}Button{id: btnIncreasetext: "增加"anchors.left: dial.right;anchors.leftMargin: 40;anchors.bottom: dial.bottom;onClicked: {dial.increase();lbl.text = dial.value;}}Button{id: btnDecreasetext: "减少"anchors.left: btnIncrease.right;anchors.leftMargin: 40;anchors.bottom: btnIncrease.bottom;onClicked: {dial.decrease();lbl.text = dial.value;}}
}

表盘支持键盘操作

  • Qt.Key_Left:按 stepSize 减小值;
  • Qt.Key_Down:按 stepSize 减小值;
  • Qt.Key_Right:按 stepSize 增加值;
  • Qt.Key_Up:按 stepSize 增加值;
  • Qt.Key_Home:将值设置为 from;
  • Qt.Key_End:将值设置 to ;

三、属性成员

属性 说明
angle : real 手柄的角度;范围从-140°到140°
from : real 范围的起始值,默认值为0.0
handle : Item 旋钮的手柄,手柄充当旋钮位置的视觉指示器
inputMode : enumeration 输入模式;详解见下面
live : bool 拖动手柄是表盘是否为value属性提供实时更新。默认为true
position : real 手柄的逻辑位置,范围为0.0 ~ 1.0
pressed : bool 是否按下旋钮;当鼠标在其上按下或按下诸如 Qt.Key_Left 之类的键时,将按下仪表盘 ;如果不想在按键时按下仪表盘。可以使用 Keys 附加属性:Keys.onLeftPressed: {}
snapMode : enumeration 对齐模式;详解见下面
stepSize : real 步长;默认值为 0.0,这导致键盘交互的有效步长为 0.1;当通过键盘交互时,步长大小决定了刻度盘值增加和减少的量。只有当 snapMode 设置为 Dial.NoSnap 以外的值时,才会考虑触摸和鼠标交互的步长
to : real 范围的结束值,默认值为1.0
value : real 当前值
wrap : real 在拖动时仪表盘是否环绕。默认为false

inputMode : enumeration 输入模式。Dial 支持三种输入模式:

  • Dial.Circular:环绕模式,默认值,光标在表盘内的位置直接反映其值;
  • Dial.Circular:环绕模式,默认值,光标在表盘内的位置直接反映其值;
  • Dial.Vertical:垂直模式;

QML控件--Dial
水平和垂直输入模式使用相对输入系统,其中光标位置的变化相当于在图中的直线上


snapMode : enumeration 对齐模式;对齐模式与 stepSize 一起使用,对齐是相对stepSize而言的

  • Dial.NoSnap:不对齐(默认);【拖动手柄并不会按stepSize对齐】
  • Dial.SnapAlways:当手柄被拖动时对齐;【拖动手柄按stepSize对齐,也就是说以stepSize为步长】
  • Dial.SnapOnRelease:在拖动时不会对齐,只有在释放后才会对齐;【拖动时不对齐,但是释放后会就近对齐】

四、成员函数

成员函数 说明
void decrease() 将 value 减小 stepSize,如果未定义 stepSize,则减小 0.1。
void increase() 将 value 增加 stepSize,如果未定义 stepSize,则增加 0.1。

五、信号

信号 说明
moved() 当用户通过触摸、鼠标或按键交互移动仪表盘时,会发出此信号。