都说信号与槽机制,实际操作起来很麻烦,又要定义信号量,又要写接收函数,还要建立连接,我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 后面即可。
当然,这种编程风格是面向过程的,不是面向对象的,但是好用就行兄弟们,面向对象也不是完美无瑕的。