【问题标题】:Remove Logs from PyQt5 Browser on Console从控制台上的 PyQt5 浏览器中删除日志
【发布时间】:2019-02-25 21:47:40
【问题描述】:

我有一个 PyQt5 应用程序Virtual Desktop,它有一个内置浏览器。当我使用浏览器时,我从浏览器收到 JS 错误,类似于 Chrome 将 JS 和 HTML 错误放入“Web Inspector”的方式。我如何摆脱这些错误。

要复制错误,请下载 Virtual Desktop 并从 PYPI 安装 PyQt。你需要运行main.py,选择一个QStyle,然后点击浏览器(在电源按钮旁边)。转到任何网站(例如 google)并切换回您的控制台。您会注意到控制台中填充了 JS 错误。

【问题讨论】:

    标签: python pyqt pyqt5 qtwebengine


    【解决方案1】:

    我在使用你的项目时没有观察到这个问题,但我之前也遇到过这个问题,解决方法是编写javaScriptConsoleMessage()方法,消除默认行为。

    from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets 
    
    class WebEnginePage(QtWebEngineWidgets.QWebEnginePage):
        def javaScriptConsoleMessage(self, level, msg, line, sourceID):
            pass
    
    if __name__ == '__main__':
        import sys
        app = QtWidgets.QApplication(sys.argv)
        view = QtWebEngineWidgets.QWebEngineView()
        page = WebEnginePage(view)
        view.setPage(page)
        view.load(QtCore.QUrl("https://www.google.com/"))
        view.show()
        sys.exit(app.exec_())
    

    【讨论】:

    • 我不确定您将如何在我的程序中实现您的解决方案,因为浏览器(以及所有其他应用程序)是QMdiSubWindow。因此,我的程序与您的程序设计不同。
    • @DS_SecretStudios 我给你做了 PR,检查你的存储库
    猜你喜欢
    • 2017-03-12
    • 2016-02-09
    • 2020-10-17
    • 1970-01-01
    • 2010-10-23
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多