【发布时间】:2018-08-24 21:16:17
【问题描述】:
我想将按钮的 clicked() 信号与将 QString 作为参数的插槽连接起来。 我该如何解决?
主要:
QObject::connect(&first, SIGNAL(newTextEntered(const QString&)), &second, SLOT(on_pbZatwierdz_clicked((const QString&))));
主窗口:
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();
}
【问题讨论】:
-
有什么问题?使用
QObject::connect(&first, &MainWindow::newTextEntered, &second, &edytujklienta::on_pbZatwierdz_clicked),阅读How to Ask,查看tour并改进您的问题,请提供minimal reproducible example -
简单,把
on_pbZatwierdz_clicked全部改成onpbZatwierdzclicked -
我变了。但它不起作用。我没有错误:“没有匹配的信号”输出:
QObject::connect: No such slot edytujklienta::onpbZatwierdzclicked((const QString&)) in ..\Recp\main.cpp:30 QObject::connect: (sender name: 'MainWindow') QObject::connect: (receiver name: 'edytujklienta') Wczytano numerID我没有:qDebug() << "Received number ID: " << text ; -
你在 .h 和 .cpp 中更改了吗?并使用新语法:
QObject::connect(&first, &MainWindow::newTextEntered, &second, &edytujklienta::onpbZatwierdzclicked)
标签: c++ qt signals-slots