1)使用extern关键字
可以新建一个Global类,在.h中声明全局变量,在.cpp中初始化。当需要使用Global类里面的信息时,直接#include "global.h"即可。
注:该方法简单,容易理解和操作,到破坏了c++的封装性,并且变量名若与系统内置的关键字重复,会报错。
2)使用单例模式
将需要全局用到的变量写在一个单例类里面,单例模式的写法提供了访问该类唯一实例的静态指针。我们只需获取该类的唯一实例,然后对该实例进行操作。
这种方法个人认为比较好,比如我们定义了一个写日志的窗口,就可以把QLainTextEdit类使用单例模式重写,然后其他类向这个edit里面写日志就很简单,只需调用QLainTextEdit类的静态方法即可。
3)使用信号与槽的方式
前提:相互通信的类都继承自QObject类