У меня возникла проблема с сигналом QWebPage :: loadFinished (bool), он дважды звонит, это нормально? (вообще нет никакой связи, например, HTTP-статус 302)Сигнал QWebPage :: loadFinished (bool) возвращается дважды?
Рассмотрите следующий код, все это может вызвать проблемы, пытается загрузить еще одну ссылку в этом слоте, будет ли это проблемой?
Если я сделать qDebug() << thisUrl;
каждый раз, когда в loadFinished(bool)
слоте, я мог видеть это в 3 раза, что нормальные, один для URL XXX
, и два для URL YYY
, а последние две ссылок точно так же.
class Dummy
{
public:
Dummy()
{
page = new QWebPage(this);
connect (page , SIGNAL(loadFinished(bool)) , SLOT(loadFinished(bool)));
page->mainFrame()->load ("XXX");
}
private:
QWebPage *page;
private slots:
void loadFinished (bool ok)
{
if (! ok) return;
const QString & thisUrl = page->mainFrame()->url().toString();
if (thisUrl matches XXX)
{
// parse reply message of url XXX
page->mainFrame()->load ("YYY");
return;
}
if (thisUrl matches YYY)
{
// parse reply message of url YYY
return;
}
}
};
проблема решена, и я не понимаю, почему – daisy
Я действительно не знаю, и у меня нет желания входить в Qt-код, чтобы узнать, почему. может быть, вы можете подать отчет об ошибке? –