- class 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
Methods#
def
__init__()
def
findText()
def
hasSelection()
def
history()
def
icon()
def
iconUrl()
def
load()
def
page()
def
pageAction()
def
print()
def
printToPdf()
def
selectedText()
def
setContent()
def
setHtml()
def
setPage()
def
setUrl()
def
setZoomFactor()
def
settings()
def
title()
def
url()
def
zoomFactor()
Virtual methods#
def
createWindow()
Slots#
Signals#
def
iconChanged()
def
iconUrlChanged()
def
loadFinished()
def
loadProgress()
def
loadStarted()
def
printFinished()
def
printRequested()
def
titleChanged()
def
urlChanged()
Static functions#
def
forPage()
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 usesetHtml()
instead.The
loadStarted()
signal is emitted when the view begins loading and theloadProgress()
signal is emitted whenever an element of the web view completes loading, such as an embedded image or a script. TheloadFinished()
signal is emitted when the view has been loaded completely. Its argument, eithertrue
orfalse
, indicates whether loading was successful or failed.The
page()
function returns a pointer to a web page object. AQWebEngineView
contains aQWebEnginePage
, which in turn allows access to theQWebEngineHistory
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 theicon()
or its URL using theiconUrl()
property. If the title or the icon changes, the correspondingtitleChanged()
,iconChanged()
andiconUrlChanged()
signals will be emitted. ThezoomFactor()
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 throughtriggerPageAction()
.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 thecreateWindow()
function.See also
WebEngine Widgets Simple Browser Example WebEngine Content Manipulation Example
Note
Properties can be used directly when
from __feature__ import true_property
is used or via accessor functions otherwise.- property hasSelectionᅟ: bool#
This property holds Whether this page contains selected content or not..
By default, this property is
false
.See also
- Access functions:
This property holds The icon associated with the page currently viewed..
By default, this property contains a null icon.
See also
- Access functions:
Signal
iconChanged()
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:
Signal
iconUrlChanged()
- property selectedTextᅟ: str#
This property holds The text currently selected..
By default, this property contains an empty string.
See also
- Access functions:
- property titleᅟ: str#
This property holds The title of the page as defined by the HTML
<title>
element..Equivalent to
title()
.See also
- Access functions:
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 zoomFactorᅟ: float#
This property holds The zoom factor for the view..
Valid values are within the range from
0.25
to5.0
. The default factor is1.0
.- Access functions:
- __init__(profile[, parent=None])#
- Parameters:
profile –
QWebEngineProfile
parent –
QWidget
Constructs an empty web view using
profile
with the parentparent
.- __init__(page[, parent=None])
- Parameters:
page –
QWebEnginePage
parent –
QWidget
Constructs a web view containing
page
with the parentparent
.Note
Ownership of
page
is not taken, and it is up to the caller to ensure it is deleted.- __init__([parent=None])
- Parameters:
parent –
QWidget
Constructs an empty web view with the parent
parent
.See also
- 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
Creates a standard context menu and returns a pointer to it.
- createWindow(type)#
- Parameters:
type –
WebWindowType
- Return type:
This function is called from the
createWindow()
method of the associatedQWebEnginePage
each time the page wants to create a new window of the giventype
. 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
- findText(arg__1, arg__2, arg__3)#
- Parameters:
arg__1 – str
arg__2 – Combination of
FindFlag
arg__3 – object
- findText(subString[, options={}])
- Parameters:
subString – str
options – Combination of
FindFlag
- static forPage(page)#
- Parameters:
page –
QWebEnginePage
- Return type:
Returns the view if any, associated with the
page
.- 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
- hasSelection()#
- Return type:
bool
Getter of property
hasSelectionᅟ
.- 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()
Getter of property
iconᅟ
.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ᅟ
.Getter of property
iconUrlᅟ
.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ᅟ
.- 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
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
- load(request)
- Parameters:
request –
QWebEngineHttpRequest
Issues the specified
request
and loads the response.See also
- 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
- 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
- loadStarted()#
This signal is emitted when a new load of the page is started.
See also
- page()#
- Return type:
Returns a pointer to the underlying web page.
See also
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.- 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, andsuccess
will betrue
if the file was successfully created andfalse
otherwise.See also
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 thetrue
for success orfalse
for failure.It is the users responsibility to ensure the
printer
remains valid untilprintFinished()
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 ofprinter
to at least 300 DPI or usingprintToPdf()
to produce PDF file output more effectively.- printFinished(success)#
- Parameters:
success – bool
This signal is emitted when printing requested with
print()
has finished. The parametersuccess
istrue
for success orfalse
for failure.See also
- 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 callprint()
.See also
- printToPdf(filePath[, layout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])#
- Parameters:
filePath – str
layout –
QPageLayout
ranges –
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 inlayout
, while the range of pages printed is taken fromranges
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
- reload()#
Reloads the current document.
See also
- 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 andexitCode
is the status code with which the process terminated.- selectedText()#
- Return type:
str
Getter of property
selectedTextᅟ
.- 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
- setContent(data[, mimeType=""[, baseUrl=QUrl()]])#
- Parameters:
data –
QByteArray
mimeType – str
baseUrl –
QUrl
Sets the content of the web view to
data
. If themimeType
argument is empty, it is assumed that the content istext/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.
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, ifhtml
is retrieved fromhttp://www.example.com/documents/overview.html
, which is the base URL, then an image referenced with the relative URL,diagram.png
, should be athttp://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, theloadFinished()
signal is triggered withsuccess=false
.See also
- setPage(page)#
- Parameters:
page –
QWebEnginePage
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
Setter of property
urlᅟ
.- setZoomFactor(factor)#
- Parameters:
factor – float
See also
Setter of property
zoomFactorᅟ
.- 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()
- 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
- title()#
- Return type:
str
Getter of property
titleᅟ
.- titleChanged(title)#
- Parameters:
title – str
This signal is emitted whenever the
title
of the view changes.See also
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 specifiedchecked
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
Getter of property
urlᅟ
.This signal is emitted when the
url
of the view changes.- zoomFactor()#
- Return type:
float
See also
Getter of property
zoomFactorᅟ
.