--- a/eric7/WebBrowser/WebBrowserTabWidget.py Mon Jun 20 13:25:14 2022 +0200 +++ b/eric7/WebBrowser/WebBrowserTabWidget.py Mon Jun 20 19:47:39 2022 +0200 @@ -9,9 +9,7 @@ import os -from PyQt6.QtCore import ( - pyqtSignal, pyqtSlot, Qt, QUrl, QFile, QFileDevice, QMarginsF, QIODevice -) +from PyQt6.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl, QMarginsF from PyQt6.QtGui import QIcon, QPixmap, QPainter, QPageLayout from PyQt6.QtWidgets import ( QWidget, QHBoxLayout, QMenu, QToolButton, QDialog @@ -748,17 +746,16 @@ if pdfData.size() == 0: return - pdfFile = QFile(filePath) - if pdfFile.open(QIODevice.OpenModeFlag.WriteOnly): - pdfFile.write(pdfData) - pdfFile.close() - if pdfFile.error() != QFileDevice.FileError.NoError: + try: + with open(filePath, "wb") as f: + f.write(pdfData) + except OSError as err: EricMessageBox.critical( self, self.tr("Print to PDF"), self.tr("""<p>The PDF could not be written to file <b>{0}""" """</b>.</p><p><b>Error:</b> {1}</p>""").format( - filePath, pdfFile.errorString()), + filePath, str(err)), EricMessageBox.Ok) @pyqtSlot()