1

QWebpage :: windowCloseRequested()をデバッグメッセージを出力するだけのスロットに接続しようとしています。window.close();を呼び出すと JavaScriptでは、シグナルをバブリングしたり、スロットを呼び出したりすることはありません...

connect(webView->page(), SIGNAL(windowCloseRequested()),this, SLOT(windowCloseRequested()));

スロットはセットアップされています。これは、次のようなスロットとして私のwindow.hファイルにあります。

public slots:
void windowCloseRequested();

そして、関数は次のように定義されます。

void MyWindow::windowCloseRequested(){
  qDebug() << "I was called";
}

コンパイルすると、エラーは発生しません。スロットが間違っていると言う前に、その部分を理解しましたが、エラーは発生しませんでしたが、リンクをクリックするか、ロードされたWebページでjavascriptを使用してwindow.close()を呼び出すと、それは何もしません。関数を手動で呼び出すと、デバッグメッセージが出力されます。

任意のポインタ、またはヘルプ/ソリューションをいただければ幸いです。上記のこのコードは、ブラウザの例のTabwidget.cppコードに基づいていることに注意してください。それは私が見つけることができる最高のリファレンスです。

4

1 に答える 1

0

onclickを<a>タグに付けるのは...疑わしいです。スパンを使用して、blammo、それは動作します。これが、コーディング時に休憩を取る必要がある理由です。そうしないと、時間を無駄にする本当にばかげた間違いを犯します。

于 2010-03-03T11:43:04.067 に答える