这里是我使用CONNECT
的代码。我用它去了slotReadyRead
插槽,我可以在其中读取回复的内容。但是在调试或运行程序时,我收到一条消息,该消息是>
QObject :: connect:不兼容的发送者/接收者参数QNetworkReplyImpl :: readyRead()-> MainWindow :: slotReadyRead(QNetworkReply *)
。cpp
void MainWindow::on_pushButton_clicked() { QNetworkAccessManager* manager = new QNetworkAccessManager(this); QNetworkRequest request; request.setUrl(QUrl("http://lascivio.co/mobile/get.php?name=marwa")); QNetworkReply *reply = manager->get(request); connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead(QNetworkReply*))); } void MainWindow::slotReadyRead(QNetworkReply* reply) { QByteArray b (reply->readAll()); QString s(b); ui->lineEdit->setText(s); }
。h
public slots:
void slotReadyRead(QNetworkReply* reply);
这里是使用CONNECT的代码。我用它去了slotReadyRead插槽,我可以在其中读取回复的内容。但是我在调试或运行QObject :: ......>
插槽需要具有与信号兼容的签名。因此,将其定义为:
void slotReadyRead();
如果不是故意的,则不能强行将其插入插座。我看到两个选项: