qt - 如何解决(不兼容的发送方/接收方参数)问题?

这是我使用 CONNECT 的代码。我用它转到插槽 slotReadyRead,在那里我可以阅读回复的内容。 但是我在调​​试或运行程序时收到一条消息

QObject::connect: Incompatible sender/receiver arguments 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);

最佳答案

插槽需要具有与信号兼容的签名。所以要么将其定义为:

void slotReadyRead();

或者将回复设为可选:

void slotReadyRead(QNetworkReply* reply = null);

https://stackoverflow.com/questions/7207083/

相关文章:

vhdl - 如何在 VHDL 中制作一个简单的 4 位奇偶校验器?

asp.net - CS0433 : The type 'CrystalDecisions.Web.

qt - 将插槽添加到自动创建的菜单项

asp.net - 有什么简单的方法可以检查复选框列表控件中是否没有选择任何项目?

android - 如何显示内部存储中的位图?

asp.net - 检查文件夹在 C#.net 中是否只读

php - php中@字符的含义

php - 用 php domdocument 得到一个完整的表格并打印出来

vb.net - 与条件和逻辑运算符混淆 - VB.net

ruby-on-rails - bcrypt 解密器