1、使用extern
假设场景是:在mianwindow类里面进行添加一个全局变量globe_data; QString globe_data= 0;
然后程序中的另外一个类,如class类,想要调用这个全局变量globe_data,然后就需要在class类中加入:
extern QString globe_data;(这句话是加在class类的.cpp文件中,就是最开头的位置进行添加)
这样一来就会发现这个globe_data全局变量,就会当做class类中的全局变量进行使用。而这个值在mianwindow里发生改变,
而在class类中的globe_data直接进行调用。
2、使用信号和槽的方式
在mainwidow中自定义一个信号和槽的方式,由mainwidow中进行发出带参的信号,然后在另一个类的槽函数中进行接收这个信号
并将参数传递回来。
如:在mianwindows中的构造函数中进行绑定:
connect(this,SIGNAL(signal_data(QString)),class::getInstance(),SLOT(slot_data(QString)));
在需要传参的位置触发信号:signal_data(QString data);
然后在类class中用定义槽函数进行接收:
注意需要加入:
class* calss::instance = new calss(); class*class::getInstance() { return instance; } (注意正是因为有了这样一句话,才能直接在mainwindow中的构造函数中直接class::getInstance(),SLOT(slot_data(QString)))
然后进行槽函数的调用:
calss::slot_data(QString data)
{
*********
}