您的位置:首页 > 编程语言 > Qt开发

QT全局变量声明及使用

2013-09-25 23:52 579 查看
方法一:

1.先在一个.h文件中声明一个类:

//Data.h
#ifndef DATA_H

#define DATA_H
 
class Data

{

public:

 static int flag;  //注意关键字static

 static int size; 
};
#endif
 
2.在.cpp文件里类中的成员进行定义:
//Data.cpp
#include "Data.h"

int Data::flag = 0;

int Data::size = 5;
 
3.只要有了前面两步,这些变量就可以在其他的文件里用了,并且可以随时修改,例如:
//Form.cpp
#include <QtGui>
#include "Data.h"
Form::Form(QWidget *parent) : QWidget(parent)

{

   ui.setupUi(this);
   Data::flag = 1;  //随时可以修改Data中的几个变量
   Data::size = 10;
   ...
}
 方法二:

在Qt中使用全局变量的实例

1.首先需要在一个头文件中对全局了变量使用exern方法进行定义。
//g.h
extern char *testStr;


2.只能在cpp文件中对其是实例化,并且实例化只能在函数的外部进行。建议在包含main函数的cpp文件中进行实例化,这样可以确保在其他文件中使用时,它已经被实例化。
//a.h
#include "g.h"
char *testStr="hello world";
void main()
{
cout<<testStr<<endl;
testStr="hello China";
}


3. 其他文件只要包含了g.h这个头文件,就可以修改或者访问这个全局变量,而不需要再次实例化。
//b.h
//该文件中就可以不需要实例化全局变量了。
#include "g.h"
void mytest()
{
cout<<testStr<<endl;
}


 
以上的方法对多个源文件之间的数据交互很有用处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt Qt C++