2010-03-02 35 views
1

我試圖將QWebpage :: windowCloseRequested()連接到一個只打印出調試消息的插槽。當我打電話給window.close();在JavaScript它不起泡的信號向上或致電插槽...Qt C++ WebKit windowCloseRequested Signal

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

插槽被設置,它是在我在window.h文件作爲這樣的插槽:

public slots: 
void windowCloseRequested(); 

而且功能定義爲:

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

當我編譯,沒有錯誤,有說我有插槽錯誤之前,我想通的那部分,沒有更多的錯誤,但現在當我點擊一個鏈接,或者用javascript調用window.close()在一個加載的網頁中,它什麼也不做。如果我手動調用該函數,它將打印出調試消息。

任何指針,或幫助/解決方案,將不勝感激。請注意,上面的代碼基於瀏覽器示例的Tabwidget.cpp代碼。這是我能找到的最佳參考。

+0

手動關閉窗口會發生什麼? – Bill 2010-03-02 20:47:33

+0

它關閉,沒有錯誤或投訴。也就是說,當我點擊標題欄右上方的X圖標時,它會按預期關閉。 – 2010-03-03 11:34:22

+0

我回答了我自己的問題,當時我很密集,但隨着代碼的運行,我將留待將來參考,答案有助於提醒我稍後休息一下再回來。除非別人不同意,否則我會刪除這個問題。 – 2010-03-03 11:47:26

回答

0

將onclick附加到<a>標籤是...值得懷疑。使用跨度,並blammo,它的工作原理。這就是爲什麼你在編碼時應該休息一下,否則你會犯很多虛假的錯誤,浪費時間。