当前位置: 代码迷 >> QT开发 >> 想不明白一个关于信号传递参数的有关问题,来请问一下
  详细解决方案

想不明白一个关于信号传递参数的有关问题,来请问一下

热度:136   发布时间:2016-04-25 03:09:19.0
想不明白一个关于信号传递参数的问题,来请教一下
举个例子
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槽函数代替一样。
  相关解决方案