一.前言
文章只是楼主学习过程的记录,不能面面俱到,也不能每个点都讲到,不喜勿喷
二.QwtWheel是啥???
文档原文:
The wheel widget can be used to change values over a very large range in very small steps. Using the setMass() member, it can be configured as a flying wheel.
wheel小部件可用于在非常小的步骤中在非常大的范围内更改值,使用setMass()函数,可以将它配置为一个飞轮。
三.使用举例
1.拖动一个QwtWheel
2.常规属性设置
// 设置控件的放置方向
ui->Wheel->setOrientation(Qt::Orientation::Horizontal);
// 设置滚轮的总角度,数值是360的倍数,即是要转几圈才能从最小值转到最大值
qDebug()<<"totalAngle:"<<ui->Wheel->totalAngle();
ui->Wheel->setTotalAngle(3600);
// 微调轮子的外观,范围是10-175,默认175
ui->Wheel->setViewAngle(135.0);
// 设置齿轮表面的沟壑数量
qDebug()<<"tickCount:"<<ui->Wheel->tickCount();
ui->Wheel->setTickCount(10);
// 设置滚轮的宽度
qDebug()<<"wheelWidth:"<<ui->Wheel->wheelWidth();
ui->Wheel->setWheelWidth(30);
// 设置轮子的边框宽度
qDebug()<<"wheelBorderWidth:"<<ui->Wheel->wheelBorderWidth();
ui->Wheel->setWheelBorderWidth(2);
// 设置边框宽度
qDebug()<<"borderWidth:"<<ui->Wheel->borderWidth();
ui->Wheel->setBorderWidth(4);
// 设置能否反向转
qDebug()<<"isInverted:"<<ui->Wheel->isInverted();
ui->Wheel->setInverted(true);
// 如果为true,则从最大值向上执行将会到最小值,反之亦然
qDebug()<<"wrapping:"<<ui->Wheel->wrapping();
ui->Wheel->setWrapping(false);
// 设置计数器的步长
qDebug()<<"singleStep:"<<ui->Wheel->singleStep();
ui->Wheel->setSingleStep(1.0);
// 设置单个步长的乘数,计算出来的数值就是用户按下pageUp/PageDown的步长
ui->Wheel->setPageStepCount(2);
// 当步长对齐被启用时,由用户输入(鼠标、键盘、滚轮)发起的值更改将与单个步长的倍数对齐。
ui->Wheel->setStepAlignment(false);
// 设置滚轮的数值范围
ui->Wheel->setRange(5.0,25.0);
// true:轮子会在移动时候发出valueChanged信号
// false:轮子只有在终止时才会发出valueChanged信号
qDebug()<<"isTracking:"<<ui->Wheel->isTracking();
ui->Wheel->setTracking(true);
3.飞轮效果实现
// 设置滑块的质量,大于0,鼠标释放之后还能继续移动一段时间
// 质量越大移动的持续时间越长
ui->Wheel->setMass(5.0);
// 移动刷新的间隔时间,默认50ms
ui->Wheel->setUpdateInterval(50);