Qt 的一些日志输出由日志类别控制(例如 JavaScript 控制台输出 on QWebEnginePage
)。
C++ 中的QLoggingCategory
可以用于此,但 PyQt5 中没有相同的类。
有什么方法可以控制 PyQt5 中的类别日志记录,或者将它们全部静音?
不是一个直接的解决方案,但您可以创建如下内容:
class MyPage (QtWebEngineWidgets.QWebEnginePage):
def javaScriptConsoleMessage(self, level, message, lineNumber, sourceId):
#Send the log entry to Python's logging or do whatever you want
logging.info("level: {}, source: {}, "+
"line: {}, message: {}".format(level,
sourceId,
lineNumber,
message))
然后替换QWebEngineView的默认页面:
self.page = MyPage(owner)
self.browser.setPage(self.page)