Qt防止重复调用

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);
发布了123 篇原创文章 · 获赞 133 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_33879812/article/details/101017376