报错代码:
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), MainWindowconst, )’
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);
至此问题全部解决