QWebView 允许弹出窗口
QWebView allow pop-ups?
在我的项目中,我有一个QWebView,它加载了一个打开弹出窗口的页面。但是窗口不会打开。我研究了createWindow函数,但我不知道如何对小部件进行子类化。这些是我放在 webView 上的一些设置:
QWebSettings *settings = ui->webView_2->settings();
settings->setAttribute(QWebSettings::JavascriptEnabled, true);
settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);
允许我的 webView 允许弹出窗口的最简单方法是什么?
感谢您抽出宝贵时间:)
你需要重新实现 QWebView 的 createWindow 方法。返回的 QWebView 将自动设置为所需的 URL。
例如:
QWebView* WebView::createWindow(QWebPage::WebWindowType type)
{
// WindowDialog is just a simple QDialog with a QWebView
WindowDialog* dlg = new WindowDialog(this);
dlg->show();
// A method to retrieve a pointer to the QWebView of the dialog is needed
return dlg->webView();
}
请记住,Cookie 不会在两个 QWebView 之间共享,因此您还需要实现自己的 cookie 管理器。一种方法是继承QNetworkCookieJar,并保留一个静态的"全局"实例。
相关文章:
- SDL 窗口不会弹出
- 处理身份验证弹出窗口在wxWebView
- C++,弹出调试断言失败窗口,我得到矢量迭代器不兼容的错误运行时
- 禁用"Script Error"弹出窗口 IWebBrowser2 c++ WinApi
- 在Windows 10上弹出代码:: Bloks的窗口
- C lambda/回调弹出窗口
- 获取特定监视器的处理程序以在其中放置弹出窗口
- SDL 窗口弹出,但它是空白的,完全没有响应
- QT 4.7-在OS X 10.12下,工具提示和Qcombobox弹出窗口空白
- P/调用第三方弹出窗口
- 更换Windows上的系统菜单弹出窗口
- Qvalidator是否有可能显示弹出窗口
- 如何知道GTK :: ComboBoxtext是弹出窗口
- 没有互联网弹出窗口Qt和QML(移动设备)
- 在弹出窗口中管理CEF客户端区域的窗口消息
- 如何在Qt Designer(Python)中创建弹出窗口(将主窗口与对话框链接)
- 终端以在C++中打开弹出窗口
- 以弹出窗口的形式启动另一个应用程序
- 我遇到此问题,运行程序时出现一个弹出窗口,指出调试断言失败
- 在Qt5中的多个弹出窗口小部件上接收鼠标EnterEvent和LeaveEvent