举个例子
class A
{
signals:
void onsend(QString &msg);
public:
void act()
{ QString msg("test"); emit onsend(msg); }
}
class B
{
,.....
slots:
void onSend(QString &msg);
}
类似这样的信号传递参数,是可以正常运行的,我的问题就在这里,参数里的引用是指向的方法体中的变量,在方法体结束后,msg变量不是应该被清除了吗?
------解决思路----------------------
直接连接是这样的。其它实际上对参数等做了拷贝,使用了别的机制。
------解决思路----------------------
直连的时候,emit后立马调用宏函数,将emit语句用slot槽函数代替一样。