旋钮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);
}