diff -r 4fdbb36fe794 -r 93f95c4b3153 WebBrowser/WebBrowserPage.py --- a/WebBrowser/WebBrowserPage.py Sat Feb 18 12:23:35 2017 +0100 +++ b/WebBrowser/WebBrowserPage.py Sat Feb 18 19:59:14 2017 +0100 @@ -62,6 +62,8 @@ self.fullScreenRequested.connect(self.__fullScreenRequested) self.urlChanged.connect(self.__urlChanged) + + self.__printer = None def acceptNavigationRequest(self, url, type_, isMainFrame): """ @@ -308,6 +310,28 @@ else: request.reject() + def printPage(self, printer): + """ + Public method to print the current page. + + Note: This is just a wrapper around QWebEnginePage.print() to ensure + the printer object is available until the print job finished. + + @param printer reference to the printer object + @type QPrinter + """ + self.__printer = printer + self.print(self.__printer, self.__printFinished) + + def __printFinished(self, ok): + """ + Private method called when the print job finished. + + @param ok flag indicating a successful print + @type bool + """ + self.__printer = None + ############################################## ## Methods below deal with JavaScript messages ##############################################