【发布时间】:2020-09-20 19:19:41
【问题描述】:
我正在尝试使用新语法将信号连接到信号:
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采用了bool参数,而returnPressed信号中不存在? -
@Botje 静态断言失败:插槽需要的参数多于信号提供的参数。 -- 静态断言失败:信号和槽参数不兼容。 -- 但是为什么旧的语法会起作用呢?
标签: c++ qt qt5 signals-slots