我正在尝试使用新语法将信号连接到信号:
connect(ui->line,&QLineEdit::returnPressed,ui->button,&QPushButton::clicked);
但是编译器会抛出一个错误,旧的语法仍然有效:
connect(ui->line,SIGNAL(returnPressed()),ui->button,SIGNAL(clicked()));
我知道这可以连接到功能点击:
connect(ui->line,&QLineEdit::returnPressed,ui->button,&QPushButton::click);
但是有没有办法使用新语法将它连接到信号?
最佳答案
快速浏览一下文档,不匹配源于 clicked
信号的额外参数。
一种选择是使用 lambda 来注入(inject)该参数:
connect(ui->line,&QLineEdit::returnPressed, this, [this]() { ui->button->clicked(false); });
关于c++ - 如何使用新语法 QT5 将信号连接到信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62150034/