最近开发一个程序,需要多个源文件,包括若干个头文件和若干个定义文件。因此如何在多个源程序间开发传递变量就成了一个关键问题。
刚开始我通过构造函数传递参数,能成功传递但数据却不会自动更新。随后想到通过全局变量传递参数。一般来说在多个源程序间传递变量大概有两种方法,一是利用extern声明全局变量来进行传递,二是将全局变量定义成一个类的静态变量,通过类名::变量名进行调用。
通过若干次调试,两种方法都成功了,现将注意要点记录如下(注释部分为第二种方法):
本程序实现一个计数器,主窗口显示计数值(1s加1),点击按钮弹出子窗口,子窗口的lcd同步显示计数值。其中ui文件已用designer画好。
//my_define.h文件:
#ifndef MY_DEFINE_H
#define MY_DEFINE_H
extern int aa;
#endif
****************
//my_define.cpp :
#include "my_define.h"
//int temp::aa=0;
int aa=0;
***************
//dialog.h :
#ifndef MYFORM_H
#define MYFORM_H
#include "dialog_base.h"
class MyForm : public MyFormBase
{
Q_OBJECT
public:
MyForm( QWidget* parent = 0, const char* name = 0, WFlags