Возможно ли реализовать плавную прокрутку страниц в виджете QWebEngineView? PyQt6

import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QToolBar, QLineEdit
from PyQt6.QtWebEngineWidgets import QWebEngineView
from PyQt6.QtGui import QAction, QIcon
from PyQt6.QtCore import QUrl, Qt

class SimpleBrowser(QMainWindow):
    def __init__(self):
        super().__init__()
        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl("https://www.google.com"))
        self.setCentralWidget(self.browser)

        # Toolbar
        self.toolbar = QToolBar()
        self.addToolBar(self.toolbar)

        # Back button
        back_btn = QAction("Back", self)
        back_btn.triggered.connect(self.browser.back)
        self.toolbar.addAction(back_btn)

        # Forward button
        forward_btn = QAction("Forward", self)
        forward_btn.triggered.connect(self.browser.forward)
        self.toolbar.addAction(forward_btn)

        # Reload button
        reload_btn = QAction("Reload", self)
        reload_btn.triggered.connect(self.browser.reload)
        self.toolbar.addAction(reload_btn)

        # URL bar
        self.url_bar = QLineEdit()
        self.url_bar.returnPressed.connect(self.navigate_to_url)
        self.toolbar.addWidget(self.url_bar)

        # Update URL bar when browser navigates
        self.browser.urlChanged.connect(self.update_url_bar)

        self.setWindowTitle("Simple Browser")
        self.show()

    def navigate_to_url(self):
        url = self.url_bar.text()
        self.browser.setUrl(url)

    def update_url_bar(self, q):
        self.url_bar.setText(q.toString())

def main():
    app = QApplication(sys.argv)
    window = SimpleBrowser()
    sys.exit(app.exec())

if __name__ == "__main__":
    main()

Можно включить

settings: QWebEngineSettings = self.browser.settings() # type: ignore
settings.setAttribute(QWebEngineSettings.WebAttribute.ScrollAnimatorEnabled, True)

Но тогда прокрутка получается очень медленной. И я замечал что на некоторых сайтах она может не работать. Например на https://hd.kinopoisk.ru/

Мне необходимо реализовать плавную прокрутку страниц браузера как в браузерах google chrome, yandex, или edge.


Ответы (0 шт):