qtsyntaxsignalsqwtslot

Qwt for Qt: How to connect to signal with new signal/slot flavour?


I want to to connect to legend-label SIGNAL checked. With Qts old Signal/Slot-Syntax all is perfect, but i want to use the new connection to enable compile-time check? Any idea on how to connect it via new Signal/Slot-Syntax?

This is my code:

connect( m_plotLegend, SIGNAL( checked( const QVariant &, bool, int ) ), SLOT(legendChecked( const QVariant &, bool ) ) );
//connect(m_plotLegend, &QwtLegend::checked, this, &MeasurePlot::legendChecked);

With oldy syntax all is fine, with the new syntax the slot is never reached. Any ideas? Thank you very much!


Solution

  • Your connect should work.

    I test this with your Examplecode and it works fine:

    Definition:

    ...
    private slots:
    void test(const QVariant &, bool);
    
    signals:
    void checked( const QVariant &, bool, int );
    ...
    

    Connection:

    ...
    connect(this, &TestClass::checked, this,  &TestClass::test);
    
    emit checked(QVariant(QString("test")), true, 1);
    ...
    

    Slot:

    void TestClass::test(const QVariant &, bool)
    {
    ...
    }
    

    Hope that helps a little bit.