旋钮QDial
QDial 表示一个旋钮控件。
1. QDial属性
| 属性 | 说明 |
|---|---|
| value | 当前数值。 |
| minimum | 最小值。 |
| maximum | 最大值。 |
| singleStep | 按下方向键时改变的步长。 |
| pageStep | 按下 pageUp/pageDown 的时候改变的步长。 |
| sliderPosition | 界面上旋钮显示的初始位置。 |
| tracking | 外观是否会跟踪数值变化(默认为 true)。 |
| wrapping | 是否允许循环调整(即超过最大值时变为最小值)。 |
| notchesVisible | 是否显示刻度线。 |
| notchTarget | 刻度线的密度(数字越大越稀疏)。 |
2. QDial信号
| 信号 | 说明 |
|---|---|
| valueChanged(int) | 数值变化时触发。 |
| rangeChanged(int, int) | 范围变化时触发。 |
3. 使用QDial制作调整窗口不透明度的旋钮
要注意,Qt 中窗口的不透明度是一个 [ 0 , 1.0 ] [0,1.0] [0,1.0] 的浮点数,而 QDial 的旋钮值为整型,设置时需要强转一下:
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->dial->setWrapping(true);ui->dial->setNotchesVisible(true);ui->dial->setMaximum(100);ui->dial->setMinimum(1);ui->dial->setValue(100);
}Widget::~Widget()
{delete ui;
}void Widget::on_dial_valueChanged(int value)
{this->setWindowOpacity((double)value/100);
}
