在showevent事件中,用QTime::singleshot延迟去显示效果时,使用50ms达不到理想效果,使用的500ms可以达到理想效果,但是会异常到正常的变化效果。最后查看QTimer源码,发现可以使用

QTimer::singleshot(0, this, &MainWindow::showResult);

达到理想效果。源码中,当延迟0ms时候,会将槽函数放在事件队列里面,顺序触发相应的事件。

void QTimer::singleShot(int msec, Qt::TimerType timerType, const QObject *receiver, const char *member)
{if (Q_UNLIKELY(msec < 0)) {qWarning("QTimer::singleShot: Timers cannot have negative timeouts");return;}if (receiver && member) {if (msec == 0) {// special code shortpath for 0-timersconst char* bracketPosition = strchr(member, '(');if (!bracketPosition || !(member[0] >= '0' && member[0] <= '2')) {qWarning("QTimer::singleShot: Invalid slot specification");return;}QByteArray methodName(member+1, bracketPosition - 1 - member); // extract method nameQMetaObject::invokeMethod(const_cast<QObject *>(receiver), methodName.constData(), Qt::QueuedConnection);return;}(void) new QSingleShotTimer(msec, timerType, receiver, member);}
}

在这里简单记录一下。

QTimer::singleShot使用相关推荐

  1. QTimer::singleShot + lambda

    [static] void QTimer::singleShot(int msec, const QObject *receiver, const char *member) This static ...

  2. QT QTimer定时器显示系统时间倒计时功能

    QT定时器显示系统时间倒计时功能 lcdNumber控件显示 QTimer::singleShot(10000,this,&MainWindow6_6::close);//10秒后窗口自动关闭 ...

  3. QT定时器QTimer

    在Qt中使用定时器有两种方法,一种是使用QObiect类的定时器:一种是使用QTimer类.定时器的精确性依赖于操作系统和硬件,大多数平台支持20ms的精确度. 1.QObject类的定时器 QObj ...

  4. QT定时器之QTimer类加QTime类制作秒表

    一.QTime时间类 QTime类提供时钟时间函数. QTime对象包含一个时钟时间,即从午夜开始的小时.分钟.秒和毫秒数.它可以从系统时钟中读取当前时间,并测量运行时间的跨度.它提供了比较时间和通过 ...

  5. QTime::singleShot实现定时器

    [static] void QTimer::singleShot(int msec, const QObject *receiver, const char *member) singleShot函数 ...

  6. Qt 之 QTimer

    简述 QTimer类提供了重复和单次触发信号的定时器. QTimer类为定时器提供了一个高级别的编程接口.很容易使用:首先,创建一个QTimer,连接timeout()信号到适当的槽函数,并调用sta ...

  7. Qt QTimer类

    Header: #include CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PR ...

  8. QTimer 定时器

    QTimer类为我们提供了一个即可重复触发又可单次触发的定时器.它是一个高层次的应用程序接口.要使用它,只需创建一个QTimer类对象,将它的timeout()信号连接到适当的函数上,然后调用其sta ...

  9. Qt QTimer使用

    QTimer作为Qt中方便快捷的定时器,在日常使用中经常用到,但是我有时会犯一些毛病,比如一位自己已经很了解一个类,就不会去特地观看这个类的官方文档,很多时候想用一些高级特性,会摸不着头脑,比如这次, ...

最新文章

  1. OpenCV 4.5发布!更强的SIFT,OCR,RANSAC算法,新增目标跟踪网络SiamRPN++
  2. redis的过期策略和淘汰策略
  3. 小白请上车 | Python抓取花瓣网高清美图
  4. 安装SQL2012 提示 setup account privileges Failed 解决办法
  5. ASP.NET MVC分页实现
  6. Android 截图并保存到相册
  7. Java获取当前运行的CPU是几核的
  8. 我是如何学习写一个操作系统(六):进程的调度
  9. 基本线程同步(三)在同步的类里安排独立属性
  10. MySQL:MySQL基础(一)
  11. faster-rcnn tensorflow windows python 训练自己数据
  12. python configparser 空格_python的ConfigParser模块
  13. android学习中常见问题集锦
  14. linux常用关机命令,linux下常用关机命令
  15. 计算机的基本数据结构与算法分析,数据结构与算法分析
  16. python 传输视频_如何用python实现网络实时视频传输
  17. opencv学习十二(车牌识别)
  18. 前端基础(二十一):移动端H5调用摄像头拍照旋转解决方案
  19. 软件无线电实验 matlab,基于MATLAB和ModelSim的软件无线电课程实验设计
  20. 测试路由器丢包的软件,如何判断路由是否丢包以及丢包的原因和解决方法

热门文章

  1. HDRP UI上渲染模型的解决方式及常见问题
  2. python获取图片像素点颜色_Python获取图片位置像素色值及判断色值是否存在
  3. 笨方法学python 习题25
  4. 多重积分积分区域奇偶对称性化简积分
  5. 华为 eNSP easy ip转换实验+NAT服务器
  6. 在CentOS上解压含有中文名的ZIP文件出现乱码的解决办法
  7. Delphi - 对象构造和vmt系列
  8. YOLO v5 引入解耦头部
  9. linux iscsi 发起程序,设置iSCSI的发起程序(客户端)(三)
  10. Apache Flink_JZZ158_MBY