QWebEngineView#
The QWebEngineView
class provides a widget that is used to view and edit web documents. More…
Synopsis#
Properties#
hasSelection
- Whether this page contains selected content or noticon
- Associated with the page currently viewediconUrl
- URL of the icon associated with the page currently viewedselectedText
- Text currently selectedtitle
- Of the page as defined by the HTML <title> elementurl
- URL of the web page currently viewedzoomFactor
- Zoom factor for the view
Functions#
def
createStandardContextMenu
()def
findText
(arg__1, arg__2, arg__3)def
findText
(subString[, options={}])def
hasSelection
()def
history
()def
icon
()def
iconUrl
()def
lastContextMenuRequest
()def
load
(url)def
load
(request)def
page
()def
pageAction
(action)def
print
(printer)def
printToPdf
(filePath[, layout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])def
selectedText
()def
setContent
(data[, mimeType=””[, baseUrl=QUrl()]])def
setHtml
(html[, baseUrl=QUrl()])def
setPage
(page)def
setUrl
(url)def
setZoomFactor
(factor)def
settings
()def
title
()def
triggerPageAction
(action[, checked=false])def
url
()def
zoomFactor
()
Virtual functions#
def
createWindow
(type)
Slots#
Signals#
def
iconChanged
(arg__1)def
iconUrlChanged
(arg__1)def
loadFinished
(arg__1)def
loadProgress
(progress)def
loadStarted
()def
pdfPrintingFinished
(filePath, success)def
printFinished
(success)def
printRequested
()def
renderProcessTerminated
(terminationStatus, exitCode)def
selectionChanged
()def
titleChanged
(title)def
urlChanged
(arg__1)
Static functions#
def
forPage
(page)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
A web view is the main widget component of the Qt WebEngine web browsing module. It can be used in various applications to display web content live from the Internet.
A web site can be loaded to a web view with the load()
function. The GET method is always used to load URLs.
Like all Qt widgets, the show() function must be invoked in order to display the web view. The snippet below illustrates this:
view = QWebEngineView() view.load(QUrl("https://qt-project.org/")) view.resize(1024, 750) view.show()
Alternatively, setUrl()
can be used to load a web site. If you have the HTML content readily available, you can use setHtml()
instead.
The loadStarted()
signal is emitted when the view begins loading and the loadProgress()
signal is emitted whenever an element of the web view completes loading, such as an embedded image or a script. The loadFinished()
signal is emitted when the view has been loaded completely. Its argument, either true
or false
, indicates whether loading was successful or failed.
The page()
function returns a pointer to a web page object. A QWebEngineView
contains a QWebEnginePage
, which in turn allows access to the QWebEngineHistory
in the page’s context.
The title of an HTML document can be accessed with the title()
property. Additionally, a web site may specify an icon, which can be accessed using the icon()
or its URL using the iconUrl()
property. If the title or the icon changes, the corresponding titleChanged()
, iconChanged()
and iconUrlChanged()
signals will be emitted. The zoomFactor()
property enables zooming the contents of the web page by a scale factor.
The widget features a context menu that is tailored to the element at hand, and includes actions useful in a browser. For a custom context menu, or for embedding actions in a menu or toolbar, the individual actions are available via pageAction()
. The web view maintains the state of the returned actions, but allows modification of action properties such as text or icon. The action semantics can also be triggered directly through triggerPageAction()
.
If you want to provide support for web sites that allow the user to open new windows, such as pop-up windows, you can subclass QWebEngineView
and reimplement the createWindow()
function.
See also
WebEngine Widgets Simple Browser Example WebEngine Content Manipulation Example
- class PySide6.QtWebEngineWidgets.QWebEngineView(page[, parent=None])#
PySide6.QtWebEngineWidgets.QWebEngineView(profile[, parent=None])
PySide6.QtWebEngineWidgets.QWebEngineView([parent=None])
- Parameters:
parent –
PySide6.QtWidgets.QWidget
Constructs a web view containing page
with the parent parent
.
Note
Ownership of page
is not taken, and it is up to the caller to ensure it is deleted.
Constructs an empty web view using profile
with the parent parent
.
Constructs an empty web view with the parent parent
.
See also
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.hasSelection: bool#
This property holds Whether this page contains selected content or not..
By default, this property is false
.
See also
- Access functions:
hasSelection
()
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.icon: PySide6.QtGui.QIcon#
This property holds The icon associated with the page currently viewed..
By default, this property contains a null icon.
See also
- Access functions:
icon
()Signal
iconChanged
(arg__1)
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.iconUrl: PySide6.QtCore.QUrl#
This property holds The URL of the icon associated with the page currently viewed..
By default, this property contains an empty URL.
See also
- Access functions:
iconUrl
()Signal
iconUrlChanged
(arg__1)
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.selectedText: str#
This property holds The text currently selected..
By default, this property contains an empty string.
See also
- Access functions:
selectedText
()
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.title: str#
This property holds The title of the page as defined by the HTML <title>
element..
Equivalent to title()
.
See also
- Access functions:
title
()
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.url: PySide6.QtCore.QUrl#
This property holds The URL of the web page currently viewed..
Setting this property clears the view and loads the URL.
By default, this property contains an empty, invalid URL.
See also
- property PᅟySide6.QtWebEngineWidgets.QWebEngineView.zoomFactor: float#
This property holds The zoom factor for the view..
Valid values are within the range from 0.25
to 5.0
. The default factor is 1.0
.
- Access functions:
zoomFactor
()setZoomFactor
(factor)
- PySide6.QtWebEngineWidgets.QWebEngineView.back()#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Convenience slot that loads the previous document in the list of documents built by navigating links. Does nothing if there is no previous document.
It is equivalent to:
view.page().triggerAction(QWebEnginePage.Back)See also
- PySide6.QtWebEngineWidgets.QWebEngineView.createStandardContextMenu()#
- Return type:
Creates a standard context menu and returns a pointer to it.
- PySide6.QtWebEngineWidgets.QWebEngineView.createWindow(type)#
- Parameters:
type –
WebWindowType
- Return type:
This function is called from the createWindow()
method of the associated QWebEnginePage
each time the page wants to create a new window of the given type
. For example, when a JavaScript request to open a document in a new window is issued.
Note
If the createWindow()
method of the associated page is reimplemented, this method is not called, unless explicitly done so in the reimplementation.
See also
createWindow()
- PySide6.QtWebEngineWidgets.QWebEngineView.findText(arg__1, arg__2, arg__3)#
- Parameters:
arg__1 – str
arg__2 – Combination of
QWebEnginePage.FindFlag
arg__3 – object
- PySide6.QtWebEngineWidgets.QWebEngineView.findText(subString[, options={}])
- Parameters:
subString – str
options – Combination of
QWebEnginePage.FindFlag
- static PySide6.QtWebEngineWidgets.QWebEngineView.forPage(page)#
- Parameters:
- Return type:
Returns the view if any, associated with the page
.
- PySide6.QtWebEngineWidgets.QWebEngineView.forward()#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Convenience slot that loads the next document in the list of documents built by navigating links. Does nothing if there is no next document.
It is equivalent to:
view.page().triggerAction(QWebEnginePage.Forward)See also
- PySide6.QtWebEngineWidgets.QWebEngineView.hasSelection()#
- Return type:
bool
Getter of property hasSelection
.
- PySide6.QtWebEngineWidgets.QWebEngineView.history()#
- Return type:
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Returns a pointer to the view’s history of navigated web pages.
It is equivalent to:
view.page().history()
- PySide6.QtWebEngineWidgets.QWebEngineView.icon()#
- Return type:
Getter of property icon
.
- PySide6.QtWebEngineWidgets.QWebEngineView.iconChanged(arg__1)#
- Parameters:
arg__1 –
PySide6.QtGui.QIcon
This signal is emitted when the icon (“favicon”) associated with the view is changed. The new icon is specified by icon
.
See also
Notification signal of property icon
.
- PySide6.QtWebEngineWidgets.QWebEngineView.iconUrl()#
- Return type:
Getter of property iconUrl
.
- PySide6.QtWebEngineWidgets.QWebEngineView.iconUrlChanged(arg__1)#
- Parameters:
arg__1 –
PySide6.QtCore.QUrl
This signal is emitted when the URL of the icon (“favicon”) associated with the view is changed. The new URL is specified by url
.
See also
Notification signal of property iconUrl
.
- PySide6.QtWebEngineWidgets.QWebEngineView.lastContextMenuRequest()#
- Return type:
Returns additional data about the current context menu. It is only guaranteed to be valid during the call to the contextMenuEvent()
.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.load(url)#
- Parameters:
url –
PySide6.QtCore.QUrl
Loads the specified url
and displays it.
Note
The view remains the same until enough data has arrived to display the new URL.
See also
setUrl()
url()
urlChanged()
fromUserInput()
- PySide6.QtWebEngineWidgets.QWebEngineView.load(request)
- Parameters:
Issues the specified request
and loads the response.
See also
load()
setUrl()
url()
urlChanged()
fromUserInput()
- PySide6.QtWebEngineWidgets.QWebEngineView.loadFinished(arg__1)#
- Parameters:
arg__1 – bool
This signal is emitted when a load of the page has finished. ok
will indicate whether the load was successful or an error occurred.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.loadProgress(progress)#
- Parameters:
progress – int
This signal is emitted every time an element in the web view completes loading, such as an embedded image or a script. Therefore, it tracks the collective progress of loading the web view.
The current value is provided by progress
and scales from 0 to 100, which is the default range of QProgressBar.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.loadStarted()#
This signal is emitted when a new load of the page is started.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.page()#
- Return type:
Returns a pointer to the underlying web page.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.pageAction(action)#
- Parameters:
action –
WebAction
- Return type:
Returns a pointer to a QAction that encapsulates the specified web action action
. This function will also set a default styled icon to the QAction if it lacks one.
- PySide6.QtWebEngineWidgets.QWebEngineView.pdfPrintingFinished(filePath, success)#
- Parameters:
filePath – str
success – bool
This signal is emitted when printing the web page into a PDF file has finished. filePath
will contain the path the file was requested to be created at, and success
will be true
if the file was successfully created and false
otherwise.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.print(printer)#
- Parameters:
printer –
PySide6.QtPrintSupport.QPrinter
Renders the current content of the page into a temporary PDF document, then prints it using printer
.
The settings for creating and printing the PDF document will be retrieved from the printer
object.
When finished the signal printFinished()
is emitted with the true
for success or false
for failure.
It is the users responsibility to ensure the printer
remains valid until printFinished()
has been emitted.
Note
Printing runs on the browser process, which is by default not sandboxed.
Note
The data generation step of printing can be interrupted for a short period of time using the Stop
web action.
Note
This function rasterizes the result when rendering onto printer
. Please consider raising the default resolution of printer
to at least 300 DPI or using printToPdf()
to produce PDF file output more effectively.
- PySide6.QtWebEngineWidgets.QWebEngineView.printFinished(success)#
- Parameters:
success – bool
This signal is emitted when printing requested with print()
has finished. The parameter success
is true
for success or false
for failure.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.printRequested()#
This signal is emitted when the JavaScript window.print()
method is called or the user pressed the print button of PDF viewer plugin. Typically, the signal handler can simply call print()
.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.printToPdf(filePath[, layout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])#
- Parameters:
filePath – str
layout –
PySide6.QtGui.QPageLayout
ranges –
PySide6.QtGui.QPageRanges
Renders the current content of the page into a PDF document and saves it in the location specified in filePath
. The page size and orientation of the produced PDF document are taken from the values specified in layout
, while the range of pages printed is taken from ranges
with the default being printing all pages.
This method issues an asynchronous request for printing the web page into a PDF and returns immediately. To be informed about the result of the request, connect to the signal pdfPrintingFinished()
.
If a file already exists at the provided file path, it will be overwritten.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.reload()#
Reloads the current document.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.renderProcessTerminated(terminationStatus, exitCode)#
- Parameters:
terminationStatus –
RenderProcessTerminationStatus
exitCode – int
This signal is emitted when the render process is terminated with a non-zero exit status. terminationStatus
is the termination status of the process and exitCode
is the status code with which the process terminated.
- PySide6.QtWebEngineWidgets.QWebEngineView.selectedText()#
- Return type:
str
Getter of property selectedText
.
- PySide6.QtWebEngineWidgets.QWebEngineView.selectionChanged()#
This signal is emitted whenever the selection changes.
Note
When using the mouse to select text by left-clicking and dragging, the signal will be emitted for each new character selected, and not upon releasing the left mouse button.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.setContent(data[, mimeType=""[, baseUrl=QUrl()]])#
- Parameters:
data –
PySide6.QtCore.QByteArray
mimeType – str
baseUrl –
PySide6.QtCore.QUrl
Sets the content of the web view to data
. If the mimeType
argument is empty, it is assumed that the content is text/plain,charset=US-ASCII
.
External objects referenced in the content are located relative to baseUrl
. For external objects with relative URLs to be loaded, baseUrl
cannot be empty.
The data is loaded immediately; external objects are loaded asynchronously.
- PySide6.QtWebEngineWidgets.QWebEngineView.setHtml(html[, baseUrl=QUrl()])#
- Parameters:
html – str
baseUrl –
PySide6.QtCore.QUrl
Sets the content of the web view to the specified html
content.
baseUrl
is optional and used to resolve relative URLs in the document, such as referenced images or stylesheets. For example, if html
is retrieved from http://www.example.com/documents/overview.html
, which is the base URL, then an image referenced with the relative URL, diagram.png
, should be at http://www.example.com/documents/diagram.png
.
The HTML document is loaded immediately, whereas external objects are loaded asynchronously.
When using this method, Qt WebEngine assumes that external resources, such as JavaScript programs or style sheets, are encoded in UTF-8 unless otherwise specified. For example, the encoding of an external script can be specified through the charset
attribute of the HTML script tag. Alternatively, the encoding can be specified by the web server.
This is a convenience function equivalent to setContent(html, "text/html;charset=UTF-8", baseUrl)
.
Warning
This function works only for HTML. For other MIME types (such as XHTML or SVG), setContent()
should be used instead.
Note
Content larger than 2 MB cannot be displayed, because setHtml() converts the provided HTML to percent-encoding and places data
: in front of it to create the URL that it navigates to. Thereby, the provided code becomes a URL that exceeds the 2 MB limit set by Chromium. If the content is too large, the loadFinished()
signal is triggered with success=false
.
See also
load()
setContent()
toHtml()
setContent()
- PySide6.QtWebEngineWidgets.QWebEngineView.setPage(page)#
- Parameters:
Makes page
the new web page of the web view.
The parent QObject of the provided page remains the owner of the object. If the current page is a child of the web view, it will be deleted.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.setUrl(url)#
- Parameters:
url –
PySide6.QtCore.QUrl
See also
Setter of property url
.
- PySide6.QtWebEngineWidgets.QWebEngineView.setZoomFactor(factor)#
- Parameters:
factor – float
See also
Setter of property zoomFactor
.
- PySide6.QtWebEngineWidgets.QWebEngineView.settings()#
- Return type:
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Returns a pointer to the view or page specific settings object.
It is equivalent to:
view.page().settings()
- PySide6.QtWebEngineWidgets.QWebEngineView.stop()#
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Convenience slot that stops loading the document.
It is equivalent to:
view.page().triggerAction(QWebEnginePage.Stop)See also
- PySide6.QtWebEngineWidgets.QWebEngineView.title()#
- Return type:
str
Getter of property title
.
- PySide6.QtWebEngineWidgets.QWebEngineView.titleChanged(title)#
- Parameters:
title – str
This signal is emitted whenever the title
of the view changes.
See also
- PySide6.QtWebEngineWidgets.QWebEngineView.triggerPageAction(action[, checked=false])#
- Parameters:
action –
WebAction
checked – bool
Warning
This section contains snippets that were automatically translated from C++ to Python and may contain errors.
Triggers the specified action
. If it is a checkable action, the specified checked
state is assumed.
The following example triggers the copy action and therefore copies any selected text to the clipboard.
view.triggerPageAction(QWebEnginePage.Copy)See also
- PySide6.QtWebEngineWidgets.QWebEngineView.url()#
- Return type:
See also
Getter of property url
.
- PySide6.QtWebEngineWidgets.QWebEngineView.urlChanged(arg__1)#
- Parameters:
arg__1 –
PySide6.QtCore.QUrl
This signal is emitted when the url
of the view changes.
- PySide6.QtWebEngineWidgets.QWebEngineView.zoomFactor()#
- Return type:
float
See also
Getter of property zoomFactor
.