1

我正在加载一个网站的 url,它允许我创建一些数据并将其保存到我的 QWebView 的数据库中。起初我可以保存数据,但无法打开弹出窗口。所以我重新实现了 QWebView.createWindow() 方法。现在我可以打开弹出窗口了。但是在打开一个弹出窗口后,我的 webview 失去了将数据保存到数据库的能力。在我按下保存按钮后,它不会加载或重新加载。我究竟做错了什么?这是我的代码:

class MyWebView(QWebView):
    def __init__(self):
        QWebView.__init__(self)
        self.page().windowCloseRequested.connect(self.closeWindow)
        self.page().settings().setAttribute(QWebSettings.JavaEnabled, True)
        self.page().settings().setAttribute(QWebSettings.JavascriptEnabled, True)
        self.page().settings().setAttribute(QWebSettings.JavascriptCanOpenWindows, True)
        self.page().settings().setAttribute(QWebSettings.JavascriptCanCloseWindows, True)
        self.page().settings().setAttribute(QWebSettings.JavascriptCanAccessClipboard, True)

    def createWindow(self, webType):
        self.webview = MyWebView()
        if webType == QWebPage.WebModalDialog:
            self.webview.setWindowModality(Qt.ApplicationModal)
        return self.webview

    def closeWindow(self):
        self.close()
4

0 回答 0