QT/C++外部变量或者全局变量怎么使用,来个能说清楚的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT/C++外部变量或者全局变量怎么使用,来个能说清楚的。相关的知识,希望对你有一定的参考价值。

我QT编程 用的是C++ 要传一个变化的温度的值
类A 和类B 要从A传到B中使用

类A中quint8 wendu; 问在类B中怎么使用

不要使用 static 这个只能传一个值就不变了 温度是一直变化的 所以要在B中传一个变化的值。

(另外 quint8是个什么类型的值啊 求大神解答...)

在A类写个接口quint8 getWendu();
在B类中有个A的指针,或者把A返回的温度传入B的某个方法中
quint8是8位无符号整形,可以转换其他类型
你估计想用全局,那就定义A为全局 : A wendu;
在用B的地方(如果不是同一个文件要加外部声明extern),A.getWendu();
参考技术A 百度一发 单例模式

Qt学习: 如何在Qt中使用全局变量!出现无法解析的命令的问题看过来!!

很多小伙伴在Qt编程时,不会使用全局变量,其实基本有两种方式来定义使用全局变量,第一种是根据c/c++的extern来进行多文件的使用,第二种方法就是把全局变量放在类中,当做类静态变量来使用,一般来说,第一种方式严重破坏了类的封装,所以还是推荐第二种方式.下面给出简单的示例:

1.先在一个.h文件中声明一个类://c.h#ifndef C_H#define C_Hclass QPos{public:static int x;  //注意关键字staticstatic int y;
};#endif  //C_H2.在.cpp文件里类中的成员进行定义://c.cpp#include "c.h"int QPos::x = 10;   //必须要在对应的.cpp文件中进行初始化,否则会被报错!!int QPos::y = 20;3.然后就可以在其他文件中使用这些全局变量了.//m.cpp#include#include "c.h"m::m(QWidget *parent) : QWidget(parent)
{
   ui.setupUi(this);
   c::x= 50;  /
   c::y= 70;
   ...
}1234567891011121314151617181920212223242526272829303132

– 
切记对静态变量必须的初始化必须要在类外进行,同时不能在.h头文件中进行,应该在对应的.cpp中进行,否则会出现无法解析的错误.


本文出自 “13109855” 博客,请务必保留此出处http://13119855.blog.51cto.com/13109855/1974348

以上是关于QT/C++外部变量或者全局变量怎么使用,来个能说清楚的。的主要内容,如果未能解决你的问题,请参考以下文章

在一个源文件中引用另外一个源文件中定义的变量?

ruby在一个文件中定义的变量,如何在下一个文件中使用该变量

求助,QT creator怎么定义全局变量

QT如何设置可变的全局变量

QT 全局变量的问题,添加一个信号 让某个全局变量的值改变 其他窗口能响应这个变化

Qt学习: 如何在Qt中使用全局变量!出现无法解析的命令的问题看过来!!