【qt】多线程实现倒计时

news2024/11/13 8:57:41

1.界面设计

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0ef02788c687426193d501fd40ac0300.png)

设置右边的intvalue从10开始倒计时

2.新建Thread类

新建Thread类,使其继承QThread类,多态重写run函数,相当于线程执行函数
在这里插入图片描述

3.重写run函数

在这里插入图片描述
重写run函数,让另一个进程每隔1s发出一个信号,主线程使用connect捕捉

4.创建一个线程

包含一个

5.connect函数连接信号和处理函数

在这里插入图片描述

6.实现处理函数

在这里插入图片描述

7.源码

thread.h

#ifndef THREAD_H
#define THREAD_H

#include <QObject>
#include<QThread>
class Thread : public QThread
{
    Q_OBJECT
public:
    Thread();
    virtual void run() override;
signals:
    void notify();
};

#endif // THREAD_H

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include"thread.h"
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void deal();

private:
    Ui::Widget *ui;
    Thread thread;
};
#endif // WIDGET_H

thread.cpp

#include "thread.h"

Thread::Thread()
{

}


void Thread::run()
{

    for(int i=0;i<10;i++)
    {
       sleep(1);
       emit notify();



    }

}

widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    thread.start();

    connect(&thread,&Thread::notify,this,&Widget::deal);
}
 void Widget::deal()
 {
    int value=ui->lcdNumber->intValue();
     value--;
     ui->lcdNumber->display(value);

 }
Widget::~Widget()
{
    delete ui;
}

8.演示

多线程实现倒计时

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2102369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wireshark使用攻略

简介 wireshark 是网络封包分析工具&#xff0c;可与截取各种网络数据包并且显示数据包的详细信息。 使用 打开wireshark &#xff1a; 在Linux中使用sudo wireshark 打开 打开之后选择对应的网卡&#xff0c;就可以进行网络信息的捕获&#xff0c;开始抓取网络包。 可以…

不管C盘垃圾有多少 芝麻清理就是好!彻底清理电脑垃圾!

不管C盘垃圾有多少 芝麻清理就是好&#xff01;彻底清理电脑垃圾&#xff01;让你没烦恼&#xff01;C盘垃圾是许多人的烦恼&#xff0c;如果靠手动去清理C盘垃圾是个非常麻烦的事情&#xff0c;就算有10多年电脑经验的高手&#xff0c;也未必能做到彻底清理干净C盘。 对于我们…

Allure报告下载不同格式的文件

支持类型&#xff1a; class AttachmentType(Enum):def __init__(self, mime_type, extension):self.mime_type mime_typeself.extension extensionTEXT ("text/plain", "txt")CSV ("text/csv", "csv")TSV ("text/tab-sep…

网络编程9月3日

1&#xff0c;思维导图2&#xff0c;TCP通信 服务器端 #include<myhead.h> #define JCHM 4514 #define IPDZ "192.168.0.113" #define BACKLOG 5 int main(int argc,const char *argv[]) {int oldfdsocket(AF_INET,SOCK_STREAM,0);if(oldfd-1){perror("…

猴子排序:一种理论上的排序算法

猴子排序&#xff1a;一种理论上的排序算法 在编程和算法的世界里&#xff0c;总有一些有趣的算法让人忍俊不禁&#xff0c;同时又让人深思。今天&#xff0c;我们来聊聊一种特别的排序算法——猴子排序&#xff08;Bogosort&#xff09;&#xff0c;也常被戏称为瞎子排序、波…

解放你的带宽和内存:GZIP在解决Redis大Key方面的应用

首发公众号&#xff1a;赵侠客 引用 目前主流HTTP协议接口都是使用JSON格式做数据交换的&#xff0c;JSON数据格式有着结构简单、可读性高、跨平台&#xff0c;易解析等优点&#xff0c;同时也存在着冗余数据会占用非常多的储存空间的问题&#xff0c;这大大增加了JSON格式数据…

MATLAB eig 函数简介:计算特征值和特征向量

在数据科学、工程学和数学中&#xff0c;特征值和特征向量是理解和分析矩阵行为的核心概念。MATLAB 的 eig 函数是处理这些概念的强大工具。本文将介绍 eig 函数的基本用法&#xff0c;并通过示例展示如何使用它来计算特征值和特征向量。 什么是特征值和特征向量&#xff1f; …

应用层(Web与HTTP)

目录 常见术语 1.HTTP概况 2.HTTP连接 非持久HTTP流程 响应时间模型 持久HTTP 3.HTTP报文 3.1HTTP请求报文 3.2HTTP响应报文 HTTP响应状态码 4.Cookies&#xff08;用户-服务器状态&#xff09; cookies&#xff1a;维护状态 Cookies的作用 5.Web缓冲&#xff08;…

CDGA|数据治理:构建高效数据管理体系的实践路径

在当今数字化时代&#xff0c;数据已成为企业最宝贵的资产之一&#xff0c;其质量、安全性和有效利用率直接影响着企业的决策能力、运营效率和市场竞争力。因此&#xff0c;数据治理作为确保数据质量、促进数据价值最大化的关键环节&#xff0c;其重要性日益凸显。本文将从几个…

UE4_地形_悬崖拉伸的解决

参考教程 【虚幻5】UE5_UE4_解决悬崖地形贴图拉伸_哔哩哔哩_bilibili 纹理处理 | 虚幻引擎 4.27 文档 | Epic Developer Community (epicgames.com) 主要通过蓝图节点解决&#xff1a;WorldAlignedTexture WorldAlignedTexture&#xff08;全局一致纹理&#xff09;函数用于…

【自用19.1】C++构造函数

构造函数的作用 在创建一个新的对象时&#xff0c;自动调用的函数&#xff0c;用来进行“初始化”工作&#xff1a; 对这个对象内部的数据成员进行初始化。 构造函数的特点 自动调用&#xff08;在创建新对象时&#xff0c;自动调用&#xff09;构造函数的函数名&#xff0c…

乐凡三防|国产化浪潮下的三防平板

在当前的科技环境下&#xff0c;国产化成为了一个热门话题&#xff0c;尤其在三防平板领域&#xff0c;国产化不仅意味着技术的自给自足&#xff0c;更是国家信息安全与产业自主可控的重要体现。三防平板&#xff0c;即具备防水、防尘、防震功能的平板电脑&#xff0c;其全国产…

02-数组

概述 数组是一个由固定长度的特定类型元素组成的序列&#xff0c;一个数组可以由零个或多个元素组成&#xff0c;一旦声明了&#xff0c;数组的长度就固定了&#xff0c;不能动态变化。 len() 和 cap() 返回结果始终一样。 声明数组 package mainimport ("fmt" )f…

【算法专场】模拟(上)

目录 ​前言 模拟算法 1576. 替换所有的问号 495. 提莫攻击 1688. 比赛中的配对次数 6. Z 字形变换 前言 我们在有时候会看到刷题网站上面看到一些已经把题意讲的很明确的题目&#xff0c;并且一般这种不怎么需要利用那些复杂的算法&#xff0c;只需要我们按照着题目的意…

宝藏!《联盟现代控制特训班题库》(麒麟篇) 习题部分:甄选内容

本文内容&#xff0c;全部选自联盟自动化考研联盟企业店( 店)的&#xff1a;初试《现代控制特性班题库》(麒麟篇)&#xff0c;分为讲义和习题两个部分&#xff0c;本文为习题部分的甄选内容&#xff0c;一本书帮你学透现控。 目录 Part1&#xff1a;资料封面&目录 习题部…

Kafka大厂面试14问(附答案)

怎么保证顺序消费&#xff1f; 同一个生产者发送到同一分区的消息&#xff0c;先发送的比后发送的offset要小。同一生产者发送到不同分区的消息&#xff0c;消息顺序无法保证。 怎么解决这个问题&#xff1f; 给一个topic只设置一个分区 相同key会发给一个分区 怎么保证幂…

python常用的列表,元组,字符串,集合,字典的应用方法

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6049c6f7ca2d4a0ca4911562dea7a8cd.png 素材内容来自——黑马程序员

【Altium Designer程序开发】生成XML多级数据库文件 V2.0

此工具用于生成多级多节点的XML数据库文件&#xff0c;主要功能用于测试XML文件的生成速度的&#xff0c;运行环境在Altium Designer中&#xff0c;可用于Altium Designer全系列的版本中。 程序界面如下图所示&#xff0c;每一级节点表示每个父Node的子Node的数量&#xff0c;节…

FRP内网穿透与神卓互联,优势对比

本文介绍分析了当前市面上两款常用的内网穿透工具 frp内网穿透介绍 一、概述 frp&#xff08;Fast Reverse Proxy&#xff09;是一款高性能的反向代理应用&#xff0c;主要用于实现内网穿透功能。通过frp&#xff0c;用户可以将内网中的服务器或服务暴露到公网上&#xff0c;…

跨境电商运营解决方案:反向代购系统物流集运一体化

跨境电商两种模式&#xff0c;一种是国外商品卖到国内&#xff0c;海淘代购。另一种是国内商品卖到国外&#xff0c;也叫反向代购。 什么是反向代购 反向代购是近年兴起的一种购物模式&#xff0c;是帮国外客户购买中国商品。主要是通过外贸代购系统&#xff0c;把淘宝、天猫…