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:出了问题多对照正确的代码,看看有什么区别
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
