我正在显示来自带有QProgressBar.
传感器值的范围可以从0 to 0.5
为了在 上显示这些值QProgressBar,我0-0.5通过乘以 100 将范围 ( ) 转换为整数范围
[0 , 0.5] -> [0 , 50]
ui->progressBar->setRange(0, 0.5*100);
ui->progressBar->setValue(sensor_value*100.0);
这样当收到一个新值时,我将它乘以 100 ( 0.12*100 = 12/50)
现在我要QDoubleSpinBox为 选择一个“阈值”值QProgressBar,如下所示:
为了将值转换为阈值并在达到阈值QDoubleSpinBox时使用此阈值生成声音,我做了以下操作QProgressBar
threshold = ((ui->doubleSpinBox->value()*100)/50); //---> not sure if this is right
ui->label->setText(QString::number(threshold, 'f',2 ));
if(sensor_value > threshold)
{
ui->rdo_btn_vertical->show();
ui->rdo_btn_vertical->setStyleSheet(StyleSheetOn1);
QSound::play(":/resources/beep1.wav");
}
但是,这里的问题是我在上述计算中没有得到正确的阈值。所以我无法比较 QProgressBar 上显示的阈值和实际传感器值有人可以在那里发现一些问题吗?

