0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

feat(website): added method to wait until the webpage is loaded

This commit is contained in:
2024-09-02 18:00:34 +02:00
parent 9866075100
commit 9be19d4abe

View File

@ -1,5 +1,5 @@
from qtpy.QtCore import Property, QUrl, Slot, qInstallMessageHandler
from qtpy.QtWebEngineWidgets import QWebEngineView
from qtpy.QtWebEngineWidgets import QWebEngineSettings, QWebEngineView
from qtpy.QtWidgets import QApplication, QVBoxLayout, QWidget
from bec_widgets.utils.bec_widget import BECWidget
@ -32,6 +32,19 @@ class WebsiteWidget(BECWidget, QWidget):
self.setLayout(layout)
self.set_url(url)
self._loaded = False
self.website.loadFinished.connect(self._on_load_finished)
def wait_until_loaded(self):
while not self._loaded:
QApplication.processEvents()
def _on_load_finished(self):
"""
Callback when the website has finished loading
"""
self._loaded = True
@Property(str)
def url(self) -> str:
"""
@ -64,6 +77,7 @@ class WebsiteWidget(BECWidget, QWidget):
return
if not isinstance(url, str):
return
self._loaded = False
self.website.setUrl(QUrl(url))
def get_url(self) -> str: