QMetaObject :: connectSlotsByName:没有匹配的信号on_pbZatwierdz_clicked(QString)

时间:2018-08-24 21:16:17

标签: c++ qt signals-slots

我想将按钮的clicked()信号与一个将QString作为参数的插槽连接起来。 我该怎么解决?

主要:

QObject :: connect(&first,SIGNAL(newTextEntered(const QString&)),                          &second,SLOT(on_pbZatwierdz_clicked((const QString&))));

MainWindow:

void MainWindow::on_leEdytujKlienta_returnPressed()
{
    emit this->newTextEntered(ui->leEdytujKlienta->text());
}

FORM2:

void edytujklienta::on_pbZatwierdz_clicked(const QString &text)
{    
    qDebug() << "Received number ID: " << text ; 
}

//显示您的.h和.cpp:),

edytujklienta.cpp代码:

   void edytujklienta::onpbZatwierdzclicked(const QString &text)
{    
    qDebug() << "ODEBRANO numer ID: " << text ;
    QString Nazwisko;
    Nazwisko=ui->lineNazwisko->text();
    QSqlQuery updateQuery ;
    updateQuery.prepare("UPDATE tKlient SET NAZWISKO = :newNAZWISKO, IMIE = :newIMIE WHERE ID = :id ");
    updateQuery.bindValue(":newIMIE",Imie);
    updateQuery.exec();   
}

1 个答案:

答案 0 :(得分:0)

使用Qt5样式的connect语法,然后连接到lambda而不是插槽。然后,lambda可以使用您需要的任何调用参数。

出于代码维护的原因,我强烈建议您不要使用按名称连接。