Art*_*072 1 c++ qt signals-slots qt5
我正在尝试使用新语法将信号连接到信号:
connect(ui->line,&QLineEdit::returnPressed,ui->button,&QPushButton::clicked);
Run Code Online (Sandbox Code Playgroud)
但是编译器抛出一个错误,所有这些旧语法都有效:
connect(ui->line,SIGNAL(returnPressed()),ui->button,SIGNAL(clicked()));
Run Code Online (Sandbox Code Playgroud)
我知道这可以连接到功能点击:
connect(ui->line,&QLineEdit::returnPressed,ui->button,&QPushButton::click);
Run Code Online (Sandbox Code Playgroud)
但是有没有办法使用新语法将它连接到信号?
快速浏览一下文档,不匹配源于对clicked信号的额外参数。
一种选择是使用 lambda 来注入该参数:
connect(ui->line,&QLineEdit::returnPressed, this, [this]() { ui->button->clicked(false); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |