2

我一直在尝试从一个简单的应用程序开始,该应用程序在单击按钮时从一个简单的 HTML 页面中检索数据,并偶然发现了一个关于 QT-Project 的相当有用的教程,并一直在尝试为我自己的项目实现它。

在我尝试实际尝试实现 loadImage 函数(如教程中所示)之前,一切都设法编译。(我实际上必须初始化m_pImgCtrlFiledownloader * m_pImgCtrl = new FileDownloader(imageUrl, this);,我不确定如果没有事先声明对象它应该如何工作?)

据我所知,m_pImgCtrl实际上并没有在loadImage()函数中定义,因为它是在函数之外初始化的?还是该connect()功能做了我不太了解的事情?

谢谢您的帮助!

4

1 回答 1

1

本教程并没有告诉你整个故事。

使用部分中的代码应该是类的一部分MainWindow——主窗口的控制器(参见教程最后一个片段的第 1 行)。此类包含一个loadImaged()在 NetworkReply 完成时调用的槽。它也有一个成员FileDownloader * m_pImgCtrl

例如,第二个用法片段可能是插槽的一部分,MainWindow::buttonClicked()例如

void MainWindow::buttonClicked()
{
    QUrl imageUrl("http://qt.digia.com/Documents/1/QtLogo.png");
    m_pImgCtrl = new FileDownloader(imageUrl, this);
    connect(m_pImgCtrl, SIGNAL(downloaded()), SLOT(loadImage()));
}
于 2013-10-13T22:08:19.617 回答