我该如何解决(不兼容的发送者/接收者参数)问题?

问题描述 投票:1回答:2

这里是我使用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 :: ......>

qt qt4
2个回答
6
投票

插槽需要具有与信号兼容的签名。因此,将其定义为:

void slotReadyRead();

3
投票

如果不是故意的,则不能强行将其插入插座。我看到两个选项:

© www.soinside.com 2019 - 2024. All rights reserved.