Qt信号和插槽通过参考传递

时间:2014-02-26 14:02:59

标签: c++ qt signals

void Scene::mousePressEvent( QMouseEvent * iEvent )
{
    Square temp;

    emit GetSquareParameters( temp.color.red, temp.color.green, temp.color.blue, temp.size );

    m_Squares.push_back( temp );
}

我从QMouseEvent获取鼠标坐标,需​​要从MainWindow的某些滑块获取参数。我在GetSquareParameters中的Scene和SendSliderParams广告位中创建了信号MainWindow

信号和插槽的连接方式类似于
connect( ui->widget, SIGNAL( GetSquareParameters( int, int,int,int)), this, SLOT( SendSliderParams( int, int,int,int) ) );

我可以通过引用传递params信号和插槽吗?如果不是我怎么能像我想要的那样实现行为?

1 个答案:

答案 0 :(得分:1)

没有信号呼叫纯粹是单向的,因为一个以上的插槽可能连接到一个信号(反之亦然)

您可以将其设为真正的函数调用,您可以通过引用传递

或以与回调相反的方向创建信号槽连接