【发布时间】:2013-10-31 06:32:24
【问题描述】:
在我的项目中,我需要从服务器下载一个 1.5MB 的文件。我能够在我的 GUI 应用程序中实现这一点,如下所示:
QNetworkAccessManager* m_NetworkMngr = new QNetworkAccessManager(this);
QNetworkReply *reply = m_NetworkMngr->get(QNetworkRequest(QUrl("someurl.com")));
QEventLoop loop;
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
QUrl aUrl("someurl.com");
QFileInfo fileInfo=aUrl.path();
QFile file(aPathInClient+"\\"+fileInfo.fileName());//aPathInClient is predefined
file.open(QIODevice::WriteOnly);
file.write(reply->readAll());
delete reply;
我收到以下错误:
'connect' 函数不接受四个参数。
如何修改信号和插槽以在我的控制台应用程序中工作?
【问题讨论】:
-
您知道您也可以在非 GUI(即控制台)应用程序中使用 Qt 吗?配有信号槽和所有东西。
-
-_- 真的吗?哇,我不觉得自己很愚蠢。那你知道为什么我说太多参数会出错吗?这是指“连接”
-
@mc360pro 因为您向“连接”发送了太多参数?无论如何,Joachim 是对的,您可以将 Qt 与控制台应用程序一起使用,我已经做到了,并且可以正常工作。
-
是不是和 gui 里的不一样?我目前有 4 个参数。
-
@mc360pro 你为什么不编辑你的问题、标题和所有内容,来询问那个错误呢?描述它,围绕错误发布 3-4 行代码,我们会帮助你。您目前提出的问题毫无意义,它建立在错误的假设之上。
标签: c++ qt console-application signals-slots