Возможно ли реализовать плавную прокрутку страниц в виджете 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.