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:垂直模式;
水平和垂直输入模式使用相对输入系统,其中光标位置的变化相当于在图中的直线上
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() | 当用户通过触摸、鼠标或按键交互移动仪表盘时,会发出此信号。 |