Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Qt中的IF语句中设置时间延迟_C++_Qt - Fatal编程技术网

C++ 在Qt中的IF语句中设置时间延迟

C++ 在Qt中的IF语句中设置时间延迟,c++,qt,C++,Qt,我有实时信号,我需要检查信号是否超过阈值,并设置延迟约1秒。我如何实现这一点 if(a_vertical> onThreshold) //what's the expression to set a time delay? { ui->rdo_btn_vertical->setStyleSheet(StyleSheetOn1); // On LED } else { ui->rdo_btn_vertical

我有实时信号,我需要检查信号是否超过阈值,并设置延迟约1秒。我如何实现这一点

if(a_vertical> onThreshold) //what's the expression to set a time delay?
    {
        ui->rdo_btn_vertical->setStyleSheet(StyleSheetOn1); // On  LED
    }
    else
    {
        ui->rdo_btn_vertical->setStyleSheet(StyleSheetOff1); // Off LED
    }

简单而愚蠢的解决方案是在单次激发模式下启动
QTimer
,并在检测脉冲时检查它是否正在运行(不应该运行)。“简单和愚蠢”并不意味着“好”。
根据信号的性质,过滤可能是一种可行的选择。

信号“超过阈值”意味着什么?什么是“实时信号”?无论如何,在逻辑测试中没有合理的延时概念。请解释您想要实现的目标。如果信号在该秒内低于阈值,该怎么办但这会使您的UI在该时间内没有响应。您已经询问了出现问题的原因。你在那里接受的答案有什么问题?如果你有一个嘈杂的信号,比如电子信号,你的方法可能不会很好地工作。你可能没有检测到脉冲,但是检测到一个随机的尖峰,然后等待一秒钟,意外地把一个正脉冲当作一个负脉冲。这样:如何检查计时器是否正在运行?@SruthiDominic