qt学习:延时+线程+实战

本文详细介绍了在QT中如何创建和管理线程,包括延时接口的使用,线程的启动、停止及信号槽的交互。通过实例展示了如何实现一个计时器线程,同时探讨了线程同步中的互斥锁及其辅助类的应用。
摘要由CSDN通过智能技术生成

qt里的每个界面其实都是一个线程

注意

  • 默认情况下,void run()只运行一次,要重复运行加while(1)
  • 子线程一定要调用start启动,否则不会运行
  • 对于信号与槽,在子线程中,不是必须使用,除非要使用信号与槽来跟其他线程通信

线程接口

  • void quit()
    • 告诉线程的事件循环退出,成功返回0,不一定能成功
  • void start(QThread::Priority priority = inheritPrionity)
    • 启动线程
  • void terminate()
    • 终止线程,有可能会死锁,不建议使用

延时接口

  • void msleep(unsigned long msecs)//毫秒级
  • void sleep(unsigned long msecs)//秒级
  • void usleep(unsigned long msecs)//微妙

步骤

  1. 添加c++线程类,继承QThread类和加入线程头文件,重写run函数
  2. 在ui界面构造函数中创建对象,然后启动或者停止

例子   

现在有两个按钮,一个是开启线程计时,另一个是停止线程计时,还有一个label控件,当点击开启按钮,label就会显示数字,不断增加,按下另一个按钮,就会停止

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值