Skip to content

WebEngineView

Qt Base Class: QWebEngineView

Signature: QWebEngineView(self, page: PySide6.QtWebEngineCore.QWebEnginePage, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None QWebEngineView(self, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None QWebEngineView(self, profile: PySide6.QtWebEngineCore.QWebEngineProfile, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None

Base classes

Name Children Inherits
WidgetMixin
prettyqt.widgets.widget
QWebEngineView
PySide6.QtWebEngineWidgets
QWebEngineView(self, page: PySide6.QtWebEngineCore.QWebEnginePage, parent: Optional[PySide6.QtWidgets.QWidget] \= None) -> None

⋔ Inheritance diagram

graph TD
  1473574715168["webenginewidgets.WebEngineView"]
  1473293688240["widgets.WidgetMixin"]
  1473299815024["core.ObjectMixin"]
  140713234304496["builtins.object"]
  1473245548480["gui.PaintDeviceMixin"]
  1473574739568["QtWebEngineWidgets.QWebEngineView"]
  1473290849680["QtWidgets.QWidget"]
  1473288842240["QtCore.QObject"]
  1473291690208["Shiboken.Object"]
  1473300082368["QtGui.QPaintDevice"]
  1473293688240 --> 1473574715168
  1473299815024 --> 1473293688240
  140713234304496 --> 1473299815024
  1473245548480 --> 1473293688240
  140713234304496 --> 1473245548480
  1473574739568 --> 1473574715168
  1473290849680 --> 1473574739568
  1473288842240 --> 1473290849680
  1473291690208 --> 1473288842240
  140713234304496 --> 1473291690208
  1473300082368 --> 1473290849680
  1473291690208 --> 1473300082368

🛈 DocStrings

Bases: WidgetMixin, QWebEngineView

Source code in prettyqt\webenginewidgets\webengineview.py
class WebEngineView(widgets.WidgetMixin, QtWebEngineWidgets.QWebEngineView):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.setPage(webenginecore.WebEnginePage(self))

    def set_url(self, url: datatypes.UrlType | datatypes.PathType):
        """Set the url of the WebEngineView.

        Clears the view and loads the URL.

        Args:
            url: URL to set
        """
        url = datatypes.to_url(url)
        self.setUrl(url)

    def get_url(self) -> core.Url:
        return core.Url(self.url())

    def load_url(self, url: datatypes.UrlType | datatypes.PathType):
        """Load the URL.

        Loads the specified url and displays it.

        Note: The view remains the same until enough data has arrived
        to display the new URL.

        Args:
            url: URL to load
        """
        url = datatypes.to_url(url)
        self.load(url)

    def set_zoom(self, zoom: float):
        """Set the zoom factor for the view.

        Valid values are within the range from 0.25 to 5.0. The default factor is 1.0.

        Args:
            zoom: Zoom factor
        """
        self.setZoomFactor(zoom)

    def find_text(
        self,
        string: str,
        backward: bool = False,
        case_sensitive: bool = False,
        callback: Callable[[bool], None] | None = None,
    ):
        """Find text in the current page.

        Finds the specified string, subString, in the page, using the given options.
        The findTextFinished() signal is emitted when a string search is completed.

        To clear the search highlight, just pass an empty string.

        The resultCallback must take a boolean parameter.
        It will be called with a value of true if the subString was found;
        otherwise the callback value will be false.

        Warning: It is guaranteed that the callback is always called,
        but it might be done during page destruction. When WebEnginePage is deleted,
        the callback is triggered with an invalid value and it is not safe to use
        the corresponding QWebEnginePage or QWebEngineView instance inside it.

        Args:
            string: string to search for
            backward: search backwards
            case_sensitive: case-sensitive search
            callback: result callback
        """
        if callback is None:

            def do_nothing(x):
                pass

            callback = do_nothing
        flag = webenginecore.WebEnginePage.FindFlag(0)
        if case_sensitive:
            flag |= webenginecore.WebEnginePage.FindFlag.FindCaseSensitively
        if backward:
            flag |= webenginecore.WebEnginePage.FindFlag.FindBackward
        self.findText(string, flag, callback)

    def get_settings(self) -> webenginecore.WebEngineSettings:
        settings = self.settings()
        return webenginecore.WebEngineSettings(settings)

    def set_setting(
        self,
        setting_name: webenginecore.webenginesettings.WebAttributeStr,
        value: bool,
    ):
        self.get_settings()[setting_name] = value

    def get_setting(
        self, setting_name: webenginecore.webenginesettings.WebAttributeStr
    ) -> bool:
        return self.get_settings()[setting_name]

    @classmethod
    def register_as_browser(cls, tabwidget: widgets.TabWidget):
        class BuiltInBrowser(webbrowser.BaseBrowser):
            def open(self, url: str, new: int = 0, autoraise: bool = True):
                # logger.info(f"opening {url} with builtin browser..")
                webview = cls()
                webview.load_url(url)
                if new == 1:
                    webview.show()
                else:
                    tabwidget.add_tab(webview, url, show=autoraise)

        webbrowser.register("BuiltInBrowser", BuiltInBrowser)

    def last_context_menu_request(
        self,
    ) -> webenginecore.WebEngineContextMenuRequest | None:
        req = self.lastContextMenuRequest()
        return webenginecore.WebEngineContextMenuRequest(req) if req else None

find_text(string: str, backward: bool = False, case_sensitive: bool = False, callback: Callable[[bool], None] | None = None)

Find text in the current page.

Finds the specified string, subString, in the page, using the given options. The findTextFinished() signal is emitted when a string search is completed.

To clear the search highlight, just pass an empty string.

The resultCallback must take a boolean parameter. It will be called with a value of true if the subString was found; otherwise the callback value will be false.

Warning: It is guaranteed that the callback is always called, but it might be done during page destruction. When WebEnginePage is deleted, the callback is triggered with an invalid value and it is not safe to use the corresponding QWebEnginePage or QWebEngineView instance inside it.

Parameters:

Name Type Description Default
string str

string to search for

required
backward bool

search backwards

False
case_sensitive bool

case-sensitive search

False
callback Callable[[bool], None] | None

result callback

None
Source code in prettyqt\webenginewidgets\webengineview.py
def find_text(
    self,
    string: str,
    backward: bool = False,
    case_sensitive: bool = False,
    callback: Callable[[bool], None] | None = None,
):
    """Find text in the current page.

    Finds the specified string, subString, in the page, using the given options.
    The findTextFinished() signal is emitted when a string search is completed.

    To clear the search highlight, just pass an empty string.

    The resultCallback must take a boolean parameter.
    It will be called with a value of true if the subString was found;
    otherwise the callback value will be false.

    Warning: It is guaranteed that the callback is always called,
    but it might be done during page destruction. When WebEnginePage is deleted,
    the callback is triggered with an invalid value and it is not safe to use
    the corresponding QWebEnginePage or QWebEngineView instance inside it.

    Args:
        string: string to search for
        backward: search backwards
        case_sensitive: case-sensitive search
        callback: result callback
    """
    if callback is None:

        def do_nothing(x):
            pass

        callback = do_nothing
    flag = webenginecore.WebEnginePage.FindFlag(0)
    if case_sensitive:
        flag |= webenginecore.WebEnginePage.FindFlag.FindCaseSensitively
    if backward:
        flag |= webenginecore.WebEnginePage.FindFlag.FindBackward
    self.findText(string, flag, callback)

load_url(url: datatypes.UrlType | datatypes.PathType)

Load the URL.

Loads the specified url and displays it.

Note: The view remains the same until enough data has arrived to display the new URL.

Parameters:

Name Type Description Default
url UrlType | PathType

URL to load

required
Source code in prettyqt\webenginewidgets\webengineview.py
def load_url(self, url: datatypes.UrlType | datatypes.PathType):
    """Load the URL.

    Loads the specified url and displays it.

    Note: The view remains the same until enough data has arrived
    to display the new URL.

    Args:
        url: URL to load
    """
    url = datatypes.to_url(url)
    self.load(url)

set_url(url: datatypes.UrlType | datatypes.PathType)

Set the url of the WebEngineView.

Clears the view and loads the URL.

Parameters:

Name Type Description Default
url UrlType | PathType

URL to set

required
Source code in prettyqt\webenginewidgets\webengineview.py
def set_url(self, url: datatypes.UrlType | datatypes.PathType):
    """Set the url of the WebEngineView.

    Clears the view and loads the URL.

    Args:
        url: URL to set
    """
    url = datatypes.to_url(url)
    self.setUrl(url)

set_zoom(zoom: float)

Set the zoom factor for the view.

Valid values are within the range from 0.25 to 5.0. The default factor is 1.0.

Parameters:

Name Type Description Default
zoom float

Zoom factor

required
Source code in prettyqt\webenginewidgets\webengineview.py
def set_zoom(self, zoom: float):
    """Set the zoom factor for the view.

    Valid values are within the range from 0.25 to 5.0. The default factor is 1.0.

    Args:
        zoom: Zoom factor
    """
    self.setZoomFactor(zoom)

⌗ Property table

Qt Property Type Doc
objectName QString
modal bool
windowModality Qt::WindowModality
enabled bool
geometry QRect
frameGeometry QRect
normalGeometry QRect
x int
y int
pos QPoint
frameSize QSize
size QSize
width int
height int
rect QRect
childrenRect QRect
childrenRegion QRegion
sizePolicy QSizePolicy
minimumSize QSize
maximumSize QSize
minimumWidth int
minimumHeight int
maximumWidth int
maximumHeight int
sizeIncrement QSize
baseSize QSize
palette QPalette
font QFont
cursor QCursor
mouseTracking bool
tabletTracking bool
isActiveWindow bool
focusPolicy Qt::FocusPolicy
focus bool
contextMenuPolicy Qt::ContextMenuPolicy
updatesEnabled bool
visible bool
minimized bool
maximized bool
fullScreen bool
sizeHint QSize
minimumSizeHint QSize
acceptDrops bool
windowTitle QString
windowIcon QIcon
windowIconText QString
windowOpacity double
windowModified bool
toolTip QString
toolTipDuration int
statusTip QString
whatsThis QString
accessibleName QString
accessibleDescription QString
layoutDirection Qt::LayoutDirection
autoFillBackground bool
styleSheet QString
locale QLocale
windowFilePath QString
inputMethodHints QFlags
title QString
url QUrl
iconUrl QUrl
icon QIcon
selectedText QString
hasSelection bool
zoomFactor double