我想将按钮的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();
}
答案 0 :(得分:0)
使用Qt5样式的connect语法,然后连接到lambda而不是插槽。然后,lambda可以使用您需要的任何调用参数。
出于代码维护的原因,我强烈建议您不要使用按名称连接。