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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT如何设置可变的全局变量相关的知识,希望对你有一定的参考价值。

我想做个QT软件有好几个界面,然后从数据库获取的数据暂存到一个公共的数组里面,然后每个界面的CPP想调用这一组公用的变量,因为每个窗口都需要用到部分的数据,我试用extern来实现结果只是初始化有作用,后面对数据的更改没有改变那个变量的值。。。该怎么实现好呢?

C++怎么设 QT就怎么设 但是最好不要使用全局变量 面向对象的语言变量一般在类里设变量追问

全局变量可以设置static但是这个变量初始化后它的值就不会变了,另外extern来设全局变量的话在QT我试了,也改变不了。。在C++里是可以实现的。
我的目的是设置一个全局变量在不同类都可以用到这个变量,然后还可以做适当的修改。
求高手指点,这行不行的通。
或者有其他方法不?

追答

static是静态变量 不等于全局变量啊 你在类外定义不就行了吗?为什么要加static?

追问

我想做个QT软件有好几个界面,然后从数据库获取的数据暂存到一个公共的数组里面,然后每个界面的CPP想调用这一组公用的变量,因为每个窗口都需要用到部分的数据,我试用extern来实现结果只是初始化有作用,后面对数据的更改没有改变那个变量的值。。。该怎么实现好呢?

参考技术A 定义一个结构体,里面包含你要公共使用的变量.
然后在主程序 new一个这个结构体的指针.
然后在每个界面类里定义一个这个结构体的指针.
然后在界面初始化时将你那个new出来的指针传递进界面.

这样每个界面都可以访问到那个公共的指针了,而且是随时变化的.本回答被提问者和网友采纳

Qt一个UI如何访问另一个源文件的变量

参考技术A 用信号槽,如果不熟悉就先看一下qt的书籍,或者是qt demo。
qt demo放在你qt sdk安装目录下的bin目录中

以上是关于QT如何设置可变的全局变量的主要内容,如果未能解决你的问题,请参考以下文章

如何给全局变量赋值

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

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

Qt中的全局变量声明

函数_全局变量声明可变参数关键字参数

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