Python Forum
[PyQt] Displaying html and pdf in a QtWidget
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] Displaying html and pdf in a QtWidget
#13
You did not set a layout to the tab widgets

from PyQt5.QtWidgets import (QMainWindow, QApplication, QTabWidget, 
                             QWidget, QVBoxLayout)
import sys
import os
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView
import requests
PDFJS = f"file://{os.path.abspath('./Documents/programmation/java/web/viewer.html')}" 
         
class PagePdf(QWebEngineView):
    def __init__(self):
        super(PagePdf, self).__init__()
        
    def chargePdf (self, page):
        url="http://www.tabularium.be/bailly/"+page+'.pdf'
        with open("/tmp/"+page+".pdf", 'wb') as f:
            f.write(requests.get(url).content)
        PDF = "file:///tmp/"+page+".pdf"
        self.load(QUrl.fromUserInput(f'{PDFJS}?file={PDF}'))
        print("loading PDF:", PDF)
        self.setZoomFactor(0.75)
 
 
class MainWindow(QMainWindow):
  
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
          
        self.setWindowTitle("My Awesome App")
        self.tabs = QTabWidget(self)
        self.tabs.setDocumentMode(True)
        self.tabs.setTabPosition(QTabWidget.North)
        self.tabs.setMovable(True)
 
        for n, page in enumerate(['0001','0120','1360']):
            p=PagePdf()
            print(page)
            tab = QWidget()
            self.tabs.addTab(tab, f"Tab{n + 1}")
            layout = QVBoxLayout()
            layout.addWidget(p)
            p.chargePdf(page)
            tab.setLayout(layout)
        self.setCentralWidget(self.tabs)
        self.setGeometry(0, 0, 600, 400)
          
if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = MainWindow()
    win.setWindowTitle("QStackedLayout")
    win.show()
    sys.exit(app.exec_())
Reply


Messages In This Thread
Displaying html and pdf in a QtWidget - by arbiel - Dec-03-2020, 08:35 PM
RE: Displaying html and pdf in a QtWidget - by Axel_Erfurt - Jan-19-2021, 10:01 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020