QWebPage :: loadFinished(bool)シグナルで問題が発生しました。2回コールバックしますが、これは正常ですか?(リンクはまったく続きません。たとえば、HTTPステータス302)。
次のコードを考えてみましょう。すべてが問題を引き起こす可能性があります。そのスロット内に別のリンクを読み込もうとしていますが、これは問題になりますか?
スロットでqDebug() << thisUrl;
毎回実行すると、3回表示されます。これは通常の、URL用に1つ、URL用に2つで、最後の2つのリンクはまったく同じです。loadFinished(bool)
XXX
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;
}
}
};