c++ - QMetaObject::connectSlotsByName:on_pbZatwierdz_clicked(QString) 没有匹配信号
问题描述
我想将按钮的 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());
}
表格2:
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();
}
解决方案
使用 Qt5 风格的连接语法,并连接到 lambda 而不是插槽。然后 lambda 可以使用您需要的任何调用参数。
出于代码维护的原因,我强烈建议不要使用按名称连接。
推荐阅读
- javascript - 将过滤器值设置为选择框中的选项
- python - 如何在安装了 matplotlib 的情况下导入 matplotlib
- dynamics-crm - 如何使用 FetchXML 计算总值
- php - 解析 MySQLi 查询语句以获取 PDO 迁移的参数
- c# - 如何修复“无法将 BaseExpandableListAdapter 类型隐式转换为 Android.Widget.IListAdapter”
- typescript - 如何缩小派生类的只读属性的类型?
- symfony - 如何在“/api”文档 api-platform 上添加我的自定义错误
- javascript - 需要延迟加载 iframe
- javascript - 如何在 d3.js 中绘制指南针形状并为每个三角形着色不同?
- javascript - 使用 addEventListener 运行时“不是函数”