QT中要用到
类似按键防抖static void func_to_debounce(int a) { qDebug() << a + 1<<"debounce test"; }
需要实现的函数
static void debounce_test() {};
function<void(int)> _function = func_to_debounce;
auto my_de_func = debounce(3000, (function<void(int)>)func_to_debounce);
3000表示3s中不重复处罚。
函数泛型指定函数的返回值类型void,输入类型int,和包装的函数保持一致。函数名类似函数指针。
作用 3s中不管调func_to_debounce多少次,保证其只被调用一次。
也可以将要执行的一次性线程包装,放入使用。
QFuture<void> scanTrigger = QtConcurrent::run(DataMatrixCodeScanner::scanner_head_trigger);