Qt connet函数报错: error: no matching function for call to connect(QPushButton*, void (QAbstractButton:

报错代码:

connect(ui->btn_qingkong,&QPushButton::clicked,this,MainWindow::on_btn_qingkong_clicked);

报错信息:

注意里面提到了

D:\QT\myproject\commPort\mainwindow.cpp:23: error: no matching function for call to ‘MainWindow::connect(QPushButton*&, void (QAbstractButton::)(bool), MainWindow const, )’
connect(ui->btn_JianCeChuanKou,&QPushButton::clicked,this,MainWindow::but_JianCeComm);

说明就是第四个参数的问题,这个函数无法解析

解决方法:

在第四个参数前加&符号

connect(ui->btn_qingkong,&QPushButton::clicked,this,&MainWindow::on_btn_qingkong_clicked);

后面又遇到一个错误:

connect(&global_port,&QSerialPort::readyRead,this,&receive_data);

报错信息

同样是第四个参数无法解析
并且还有如下报错:

D:\QT\myproject\commPort\mainwindow.cpp:26: error: ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say ‘&MainWindow::receive_data’ [-fpermissive]
connect(&global_port,&QSerialPort::readyRead,this,&receive_data);
^

解决方法

在第四个参数前面加上命名空间

connect(&global_port,&QSerialPort::readyRead,this,&MainWindow::receive_data);

至此问题全部解决

Tip:出了问题多对照正确的代码,看看有什么区别


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部