QtWebEngineWidgets 将图像保存到文件
QtWebEngineWidgets Save Image to file
您好,我的 Python PyQt5 应用程序中有一个浏览器,例如browser = QtWebEngineWidgets.QWebEngineView()
我现在想打开例如google.com 右键单击 Google 图像并 select 保存图像。
如何从上下文菜单中执行保存图像操作?我还想在我的代码中控制图像的保存位置。
默认情况下复制图像和复制图像地址以某种方式工作但不保存图像或保存页面。
从 html 中提取图像 src 并使用类似 urllib.request.urlretrieve(imgURL)
的东西不是一个选项。
感谢您的帮助!
谢谢你 ekhumoro!
QWebEngineProfile.downloadRequested()
是正确的选择。
一些代码,如果有人有同样的问题:
在class
中添加download_requested = QtCorePySide6.Signal(QWebEngineDownloadRequest)
添加 downloadRequested 到 QWebEngineView browser.page().profile().downloadRequested.connect(self._download_requested)
提供回调函数:
def _download_requested(self, item):
...
item.setDownloadDirectory(directory)
item.setDownloadFileName(fileName)
item.accept()
您好,我的 Python PyQt5 应用程序中有一个浏览器,例如browser = QtWebEngineWidgets.QWebEngineView()
我现在想打开例如google.com 右键单击 Google 图像并 select 保存图像。
如何从上下文菜单中执行保存图像操作?我还想在我的代码中控制图像的保存位置。
默认情况下复制图像和复制图像地址以某种方式工作但不保存图像或保存页面。
从 html 中提取图像 src 并使用类似 urllib.request.urlretrieve(imgURL)
的东西不是一个选项。
感谢您的帮助!
谢谢你 ekhumoro!
QWebEngineProfile.downloadRequested()
是正确的选择。
一些代码,如果有人有同样的问题:
在class
中添加download_requested = QtCorePySide6.Signal(QWebEngineDownloadRequest)
添加 downloadRequested 到 QWebEngineView browser.page().profile().downloadRequested.connect(self._download_requested)
提供回调函数:
def _download_requested(self, item):
...
item.setDownloadDirectory(directory)
item.setDownloadFileName(fileName)
item.accept()