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

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就会显示数字,不断增加,按下另一个按钮,就会停止

你可能感兴趣的:(qt,学习)