QT: получение текстового содержимого с веб-страницы

Я пытался начать с простого приложения, которое извлекает данные с простой HTML-страницы при нажатии кнопки, и наткнулся на довольно полезную ссылку tutorial по QT-Project и пытался реализовать его для своего собственного проекта.

Все удается скомпилировать, пока я не попытаюсь реализовать функцию loadImage (как показано в руководстве). (На самом деле мне пришлось инициализировать m_pImgCtrl как Filedownloader * m_pImgCtrl = new FileDownloader(imageUrl, this);, и я не совсем уверен, как это должно работать без предварительного объявления объекта?)

Из того, что я получаю, m_pImgCtrl на самом деле не определено в функции loadImage(), поскольку оно инициализируется вне функции? Или функция connect() делает что-то, о чем я не слишком осведомлен?

Спасибо за помощь!


person mercurial    schedule 13.10.2013    source источник


Ответы (1)


Учебник не расскажет вам всю историю.

Предполагается, что код в разделе Использование является частью класса MainWindow — контроллера вашего главного окна (см. строку 1 последнего фрагмента руководства). Этот класс содержит слот loadImaged(), который вызывается после завершения NetworkReply. У него также есть член FileDownloader * m_pImgCtrl.

Например, второй фрагмент Usage может быть частью слота 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()));
}
person chrizke    schedule 13.10.2013
comment
эй chrizke спасибо за упоминание об этом. Теперь это имеет смысл, компилируется и теоретически должно работать, но я получаю, что класс QNSListener реализован как в /.../libqcorewlanbearer, так и в /.../libqcorewlanbearer_debug.dylib. Следует использовать один из двух. Какой из них не определено. сообщение об ошибке. Видимо, это должно быть проблемой ошибки? Может у вас есть опыт в этом? - person mercurial; 14.10.2013
comment
Кажется, это ошибка в Qt версии 5.0.x. См. здесь. - person chrizke; 14.10.2013