ich bin dabei PDF Dateien auszulesen und mittels Suche, Resultate ausgeben zu lassen.
Hierzu habe ich dann einen y-Wert zum jeweiligen match.
Nun versuche ich verzweifelt, auf den y-Wert zu scrollen, leider finde ich keinen Zugang um dies steuern zu können.
Hier mal den Code, den ich zu QWebEngineView nutze:
Code: Alles auswählen
import os
import sys
from pathlib import Path
from PyQt5.QtCore import (
Qt,
QUrl
)
from PyQt5.QtGui import (
QDesktopServices
)
from PyQt5.QtWidgets import (
QApplication,
QMainWindow,
QWidget
)
from PyQt5.QtWebEngineWidgets import (
QWebEngineSettings,
QWebEngineView
)
class Browser(QWebEngineView):
_windows = set()
@classmethod
def _removeWindow(cls, window):
cls._windows.discard(window)
@classmethod
def newWindow(cls):
window = cls()
cls._windows.add(window)
return window
def __init__(self, parent=None):
super().__init__(parent)
# create image with QWebEngineView
self.settings().setAttribute(
QWebEngineSettings.PluginsEnabled, True
)
self.settings().setAttribute(
QWebEngineSettings.PdfViewerEnabled, True
)
self.setAttribute(Qt.WA_DeleteOnClose, True)
self.page().geometryChangeRequested.connect(
self.handleGeometryChange
)
#self.page().titleChanged.connect(self.setWindowTitle)
def closeEvent(self, event):
self._removeWindow(self)
event.accept()
def handleGeometryChange(self, rect):
window = QWindow.fromWinId(self.winId())
if window is not None:
rect = rect.marginsRemoved(window.frameMargins())
self.resize(rect.size())
self.setFocus()
self.show()
def createWindow(self, mode):
window = self.newWindow()
if mode != QWebEnginePage.WebDialog:
window.resize(800, 600)
window.show()
return window
path = '/home/path_to_pdf/mypdf.pdf'
if __name__ == '__main__':
app = QApplication(sys.argv)
browser = Browser()
browser.setUrl(QUrl.fromLocalFile(path))
browser.setGeometry(100, 100, 1200, 800)
browser.show()
sys.exit(app.exec_())
Grüße Nobuddy
