文章目录
- 一、控件基本信息
- 二、控件使用
- 三、属性成员
- 四、成员函数
- 五、信号
一、控件基本信息
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.3
ApplicationWindow{
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: btnIncrease
text: "增加"
anchors.left: dial.right;
anchors.leftMargin: 40;
anchors.bottom: dial.bottom;
onClicked: {
dial.increase();
lbl.text = dial.value;
}
}
Button{
id: btnDecrease
text: "减少"
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() | 当用户通过触摸、鼠标或按键交互移动仪表盘时,会发出此信号。 |