QT不同子类间共享变量,教你简单、规范的方法

本文作者介绍了在C++编程中避免使用复杂信号与槽机制,通过创建全局头文件定义共享变量,并在主类中提供实例,提倡了一种面向过程的简洁方法。这种方法适用于仅需两个子线程间共享简单数据的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

都说信号与槽机制,实际操作起来很麻烦,又要定义信号量,又要写接收函数,还要建立连接,我TM就两个子线程之间共享一个布尔变量你让我用信号与槽?不存在的,一会儿就毛躁口吐芬芳了。

告诉你们一个C语言中常用的方法,完全符合C++编程规范,而且还能使代码整洁,你学不学?

第一步:

单独创建一个global_para.h头文件,把需要共享的变量都定义在这里面:

#ifndef GLOBAL_PARA

#define GLOBAL_PARA

extern bool g_flag_onOff;

extern int g_value;

......

#endif

第二步:

需要共享使用这些变量的主类、各个子类中添加一句:

#include "global_para.h"

搞定~

爱啥啥信号量、信号与槽都不好使,就这最好使,还整洁。

第三步:

怎么?提示变量未定义?那肯定了,刚才的头文件只是为了包含这些声明的变量,这些变量需要具体的定义,最好是在主类中定义,可以在mainWindow.cpp中定义:

bool g_flag_onOff=0;

int g_value=0;

具体应该放在哪儿?你只要不放在某个成员函数中,剩下的地方你爱放哪儿放哪儿。

比如,一般会放在所有的#include #define 后面即可。

当然,这种编程风格是面向过程的,不是面向对象的,但是好用就行兄弟们,面向对象也不是完美无瑕的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值