Qt——另一种创建线程的方式
1.面向对象程序设计实践的早期工程中习惯于通过继承的方式扩展系统的功能2.解决方案——信号与槽在类中定义一个槽函数void tmain()作为线程入口函数在类中定义一个QThread成员对象m_thread改变当前对象的线程依附性到m_thread连接m_thread的start()信号到tmain()AnotherThread.h#ifndef ANOTHERTHREAD_H #define ANOTHERTHREAD_H #include QObject #include QThread class AnotherThread : public QObject { Q_OBJECT QThread m_thread; protected slots: void tmain(); public: explicit AnotherThread(QObject *parent nullptr); void start(); void ternimate(); void exit(int c); ~AnotherThread(); signals: }; #endif // ANOTHERTHREAD_HAnotherThread.cpp#include AnotherThread.h #include QDebug AnotherThread::AnotherThread(QObject *parent) : QObject{parent} { moveToThread(m_thread); connect(m_thread, SIGNAL(started()), this, SLOT(tmain())); } void AnotherThread::tmain() { qDebug() void AnotherThread::tmain() tid QThread::currentThreadId(); for(int i0; i10; i) { qDebug() void AnotherThread::tmain() i i; } qDebug() void AnotherThread::tmain() end; } void AnotherThread::start() { m_thread.start(); } void AnotherThread::ternimate() { m_thread.terminate(); } void AnotherThread::exit(int c) { m_thread.exit(c); } AnotherThread::~AnotherThread() { m_thread.wait(); }main.cpp#include QCoreApplication #include QDebug #include QThread #include AnotherThread.h void test() { AnotherThread at; at.start(); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug() main() tid QThread::currentThreadId(); test(); return QCoreApplication::exec(); }运行结果main() tid 0x2ee4void AnotherThread::tmain() tid 0x38a8void AnotherThread::tmain() i 0void AnotherThread::tmain() i 1void AnotherThread::tmain() i 2void AnotherThread::tmain() i 3void AnotherThread::tmain() i 4void AnotherThread::tmain() i 5void AnotherThread::tmain() i 6void AnotherThread::tmain() i 7void AnotherThread::tmain() i 8void AnotherThread::tmain() i 9void AnotherThread::tmain() end

相关新闻

AI时代编码能力的结构性迁移:从写代码到设计人机协同

AI时代编码能力的结构性迁移:从写代码到设计人机协同

1. 这个问题背后,藏着整个行业最真实的焦虑“Is coding dying?”——当这个标题第一次在技术社区刷屏时,我正带着三个刚毕业的实习生做一场内部分享。有人举手问:“老师,我们学了四年编程,现在AI写代码比我还快&#…

2026/8/7 9:28:27 阅读更多 →
VC++实战:Windows窗体文字信息获取原理与API详解

VC++实战:Windows窗体文字信息获取原理与API详解

1. 项目概述:为什么我们需要获取窗体文字信息?在Windows桌面应用开发,尤其是使用VC进行底层交互或自动化测试时,获取其他应用程序窗体的文字信息是一个既基础又强大的需求。你可能需要开发一个屏幕阅读辅助工具,或者构…

2026/8/5 13:16:09 阅读更多 →
线段树实现火车票系统区间最小值查询

线段树实现火车票系统区间最小值查询

1. 问题背景与需求分析TZOJ 3315题目要求我们实现一个火车票购买系统,核心需求是通过线段树高效处理区间最小值查询。这类问题在实际应用中非常常见,比如:查询某时间段内剩余票数的最小值批量更新多个座位的票务状态实时统计区间内的票务情况…

2026/8/7 8:16:17 阅读更多 →

最新新闻

CentOS 7下Docker部署Redis与PostgreSQL实战指南

CentOS 7下Docker部署Redis与PostgreSQL实战指南

1. 项目概述 在CentOS 7环境下搭建Docker容器平台并部署Redis和PostgreSQL数据库,是当前企业级应用开发的标配环境。这套技术栈结合了容器化的便捷性和高性能数据库的优势,特别适合需要快速迭代的互联网应用场景。 我最近在客户现场部署了一套生产环境&…

2026/8/7 9:28:16 阅读更多 →
企业网端口安全配置实战:杜绝私接路由器,从MAC地址管控做起

企业网端口安全配置实战:杜绝私接路由器,从MAC地址管控做起

如果你是一名企业网络管理员,或者负责维护公司内部网络的工程师,那么下面这个场景你一定不陌生:某个部门的网络突然变得异常缓慢,甚至大面积掉线,你火急火燎地排查核心交换机、防火墙、出口路由器,却发现一…

2026/8/7 9:28:16 阅读更多 →
嵌入式以太网协议实战:从STM32到工业以太网与车载应用

嵌入式以太网协议实战:从STM32到工业以太网与车载应用

1. 项目概述:从“线缆”到“生态”的进化之路 提起“以太网”,很多人的第一印象可能就是电脑后面那个插着水晶头的方形接口,或者是一根灰色的网线。这没错,但它只是冰山一角。今天我想聊的,是支撑起这张庞大网络的基石…

2026/8/7 9:28:16 阅读更多 →
Deployment-001篇

Deployment-001篇

文章目录 第一部分:为什么必须要有 Deployment? 1. 自主式 Pod 的痛点(生产环境的灾难) 2. Deployment 的解决方案 第二部分:Deployment 的架构层级 第三部分:你的第一个 Deployment(动手) 1. 编写 YAML 文件 2. 执行命令 3. 验证自愈能力(重点实验) 第四部分:Deplo…

2026/8/7 9:28:16 阅读更多 →
STM32 ADC与DMA高效数据采集:从原理到多通道实战

STM32 ADC与DMA高效数据采集:从原理到多通道实战

1. 项目缘起:为什么ADCDMA是STM32开发的“黄金搭档”? 最近在做一个基于STM32的智能台灯项目,需要实时采集环境光传感器和触摸按键的模拟信号。最开始图省事,用了HAL库自带的 HAL_ADC_Start 和 HAL_ADC_PollForConversion 轮询…

2026/8/7 9:28:16 阅读更多 →
【刘二老师】pytorch深度学习笔记【08加载数据集】

【刘二老师】pytorch深度学习笔记【08加载数据集】

【刘二老师】pytorch深度学习笔记【08加载数据集】 一、概念 用一个样本的随机梯度下降。 优点:可以克服鞍点问题,性能好;缺点:是计算速度慢,优化时间长。全部样本都用的Batch。 优点:最大化的利用向量并行…

2026/8/7 9:27:15 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →