如果不需要跨进程间通信的话,我推荐用通知中心
class NoticeCenter:public QObject
{
static NoticeCenter::getInstance();
...
signals:
void mysignal(QString);
};
cpp:
NoticeCenter*NoticeCenter::getInstance()
{
static NoticeCenter * g_instance = NULL;
//如果这个通知类会被不同的线程调用最好上锁
if(g_instance == NULL)
{
g_instance = new NoticeCenter ();
}
return g_instance;
}
在A控件类中发信号
NoticeCenter::getInstance()->mysignal("A_var");//这个用法Qt4可能不支持
在B控件类中接收
B
{
connect(NoticeCenter::getInstance(),SIGNAL(QString),this,SLOT(bSlotFun(QString)));
}
void B:bSlotFun(QString var)
{
var;//var="A_var"
}