【发布时间】:2011-01-22 20:43:49
【问题描述】:
我正在尝试将 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";
}
当我编译时,没有错误,之前有人说我的插槽错误,我想出了那部分,没有更多错误,但是现在当我点击一个链接,或者调用 window.close() with javascript in加载的网页,它不做任何事情。如果我手动调用该函数,它会打印出调试消息。
任何指针或帮助/解决方案将不胜感激。请注意,上面的代码基于浏览器示例的 Tabwidget.cpp 代码。这是我能找到的最佳参考。
【问题讨论】:
-
手动关闭窗口会发生什么?
-
它关闭,没有错误或投诉。也就是说,当我单击标题栏右上角的 X 图标时,它会按预期关闭。
-
我回答了我自己的问题,我很密集,但是随着代码的工作,我将把它留给将来参考,答案是一个有用的提醒,让你休息一下,稍后再回来.除非其他人不同意,否则我将删除该问题。
标签: c++ qt4 webkit signals slots