Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuickWindow Class Reference

\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick More...

#include <qquickwindow.h>

+ Inheritance diagram for QQuickWindow:
+ Collaboration diagram for QQuickWindow:

Public Slots

void update ()
 Schedules the window to render another frame.
 
void releaseResources ()
 This function tries to release redundant resources currently held by the QML scene.
 
- Public Slots inherited from QWindow
 Q_REVISION (2, 1) void requestActivate()
 
void setVisible (bool visible)
 
void show ()
 Shows the window.
 
void hide ()
 Hides the window.
 
void showMinimized ()
 Shows the window as minimized.
 
void showMaximized ()
 Shows the window as maximized.
 
void showFullScreen ()
 Shows the window as fullscreen.
 
void showNormal ()
 Shows the window as normal, i.e.
 
bool close ()
 Close the window.
 
void raise ()
 Raise the window in the windowing system.
 
void lower ()
 Lower the window in the windowing system.
 
bool startSystemResize (Qt::Edges edges)
 Start a system-specific resize operation.
 
bool startSystemMove ()
 Start a system-specific move operation.
 
void setTitle (const QString &)
 
void setX (int arg)
 
void setY (int arg)
 
void setWidth (int arg)
 
void setHeight (int arg)
 
void setGeometry (int posx, int posy, int w, int h)
 Sets the geometry of the window, excluding its window frame, to a rectangle constructed from posx, posy, w and h.
 
void setGeometry (const QRect &rect)
 Sets the geometry of the window, excluding its window frame, to rect.
 
void setMinimumWidth (int w)
 
void setMinimumHeight (int h)
 
void setMaximumWidth (int w)
 
void setMaximumHeight (int h)
 
 Q_REVISION (2, 1) void alert(int msec)
 
 Q_REVISION (2, 3) void requestUpdate()
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 

Signals

void frameSwapped ()
 This signal is emitted when a frame has been queued for presenting.
 
void sceneGraphInitialized ()
 \qmlsignal QtQuick::Window::frameSwapped()
 
void sceneGraphInvalidated ()
 \qmlsignal QtQuick::Window::sceneGraphInitialized()
 
void beforeSynchronizing ()
 This signal is emitted before the scene graph is synchronized with the QML state.
 
 Q_REVISION (2, 2) void afterSynchronizing()
 
void beforeRendering ()
 \qmlsignal QtQuick::Window::afterSynchronizing()
 
void afterRendering ()
 \qmlsignal QtQuick::Window::beforeRendering()
 
 Q_REVISION (2, 2) void afterAnimating()
 
 Q_REVISION (2, 2) void sceneGraphAboutToStop()
 
 Q_REVISION (2, 1) void closing(QQuickCloseEvent *close)
 
void colorChanged (const QColor &)
 
 Q_REVISION (2, 1) void activeFocusItemChanged()
 
Q_REVISION(2, 2) void sceneGraphError(QQuickWindow Q_REVISION (2, 14) void beforeRenderPassRecording()
 
 Q_REVISION (2, 14) void afterRenderPassRecording()
 
 Q_REVISION (6, 0) void paletteChanged()
 
 Q_REVISION (6, 0) void paletteCreated()
 
 Q_REVISION (6, 0) void beforeFrameBegin()
 
 Q_REVISION (6, 0) void afterFrameEnd()
 
- Signals inherited from QWindow
void screenChanged (QScreen *screen)
 This signal is emitted when a window's screen changes, either by being set explicitly with setScreen(), or automatically when the window's screen is removed.
 
void modalityChanged (Qt::WindowModality modality)
 This signal is emitted when the Qwindow::modality property changes to modality.
 
void windowStateChanged (Qt::WindowState windowState)
 This signal is emitted when the windowState changes, either by being set explicitly with setWindowStates(), or automatically when the user clicks one of the titlebar buttons or by other means.
 
 Q_REVISION (2, 2) void windowTitleChanged(const QString &title)
 
void xChanged (int arg)
 
void yChanged (int arg)
 
void widthChanged (int arg)
 
void heightChanged (int arg)
 
void minimumWidthChanged (int arg)
 
void minimumHeightChanged (int arg)
 
void maximumWidthChanged (int arg)
 
void maximumHeightChanged (int arg)
 
void visibleChanged (bool arg)
 
Q_REVISION(2, 1) void visibilityChanged(QWindow Q_REVISION (2, 1) void activeChanged()
 
void contentOrientationChanged (Qt::ScreenOrientation orientation)
 
void focusObjectChanged (QObject *object)
 This signal is emitted when the final receiver of events tied to focus is changed to object.
 
 Q_REVISION (2, 1) void opacityChanged(qreal opacity)
 
 Q_REVISION (2, 13) void transientParentChanged(QWindow *transientParent)
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Protected Member Functions

 QQuickWindow (QQuickWindowPrivate &dd, QWindow *parent=nullptr)
 
 QQuickWindow (QQuickWindowPrivate &dd, QQuickRenderControl *control)
 
void exposeEvent (QExposeEvent *) override
 \reimp
 
void resizeEvent (QResizeEvent *) override
 \reimp
 
void showEvent (QShowEvent *) override
 \reimp
 
void hideEvent (QHideEvent *) override
 \reimp
 
void closeEvent (QCloseEvent *) override
 \reimp
 
void focusInEvent (QFocusEvent *) override
 \reimp
 
void focusOutEvent (QFocusEvent *) override
 \reimp
 
bool event (QEvent *) override
 \reimp
 
void keyPressEvent (QKeyEvent *) override
 \reimp
 
void keyReleaseEvent (QKeyEvent *) override
 \reimp
 
void mousePressEvent (QMouseEvent *) override
 \reimp
 
void mouseReleaseEvent (QMouseEvent *) override
 \reimp
 
void mouseDoubleClickEvent (QMouseEvent *) override
 \reimp
 
void mouseMoveEvent (QMouseEvent *) override
 \reimp
 
- Protected Member Functions inherited from QWindow
virtual void paintEvent (QPaintEvent *)
 The paint event (ev) is sent by the window system whenever an area of the window needs a repaint, for example when initially showing the window, or due to parts of the window being uncovered by moving another window.
 
virtual void moveEvent (QMoveEvent *)
 Override this to handle window move events (ev).
 
virtual void touchEvent (QTouchEvent *)
 Override this to handle touch events (ev).
 
virtual bool nativeEvent (const QByteArray &eventType, void *message, qintptr *result)
 Override this to handle platform dependent events.
 
 QWindow (QWindowPrivate &dd, QWindow *parent)
 Creates a window as a child of the given parent window with the dd private implementation.
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Member Functions inherited from QSurface
 QSurface (SurfaceClass type)
 Creates a surface with the given type.
 

Properties

QColor color
 \qmlproperty color Window::color
 
QQuickItemcontentItem
 \qmlattachedproperty Item Window::contentItem
 
QQuickItemactiveFocusItem
 The item which currently has active focus or null if there is no item with active focus.
 
- Properties inherited from QWindow
QString title
 the window's title in the windowing system
 
Qt::WindowModality modality
 the modality of the window
 
Qt::WindowFlags flags
 the window flags of the window
 
int x
 the x position of the window's geometry
 
int y
 the y position of the window's geometry
 
int width
 the width of the window's geometry
 
int height
 the height of the window's geometry
 
int minimumWidth
 the minimum width of the window's geometry
 
int minimumHeight
 the minimum height of the window's geometry
 
int maximumWidth
 the maximum width of the window's geometry
 
int maximumHeight
 the maximum height of the window's geometry
 
bool visible
 whether the window is visible or not
 
bool active
 the active status of the window
 
Visibility visibility
 the screen-occupation state of the window
 
Qt::ScreenOrientation contentOrientation
 the orientation of the window's contents
 
qreal opacity
 The opacity of the window in the windowing system.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Private Member Functions

 ~QQuickWindow () override
 Destroys the window.
 
QObjectfocusObject () const override
 

Friends

class QQuickItem
 
class QQuickItemPrivate
 
class QQuickWidget
 
class QQuickRenderControl
 
class QQuickAnimatorController
 
class QQuickWidgetPrivate
 
class QQuickDeliveryAgentPrivate
 
QQmlInfo operator<< (QQmlInfo info, const QQuickWindow *window)
 

Additional Inherited Members

- Public Types inherited from QSurface
enum  SurfaceClass { Window , Offscreen }
 The SurfaceClass enum describes the actual subclass of the surface. More...
 
enum  SurfaceType {
  RasterSurface , OpenGLSurface , RasterGLSurface , OpenVGSurface ,
  VulkanSurface , MetalSurface , Direct3DSurface
}
 The SurfaceType enum describes what type of surface this is. More...
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QSurface
virtual ~QSurface ()
 Destroys the surface.
 
SurfaceClass surfaceClass () const
 Returns the surface class of this surface.
 
virtual QPlatformSurfacesurfaceHandle () const =0
 Returns a handle to the platform-specific implementation of the surface.
 
bool supportsOpenGL () const
 Returns true if the surface is OpenGL compatible and can be used in conjunction with QOpenGLContext; otherwise returns false.
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Protected Attributes inherited from QSurface
SurfaceClass m_type
 
QSurfacePrivate * m_reserved
 

Detailed Description

\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick

Creates a new top-level window.

The Window object creates a new top-level window for a Qt Quick scene. It automatically sets up the window for use with {QtQuick} graphical types.

A Window can be declared inside an Item or inside another Window, in which case the inner Window will automatically become "transient for" the outer Window, with the outer Window as its \l transientParent. Most platforms will show the Window centered upon the outer window in this case, and there may be other platform-dependent behaviors, depending also on the \l flags. If the nested window is intended to be a dialog in your application, you should also set \l flags to Qt.Dialog, because some window managers will not provide the centering behavior without that flag.

You can also declare multiple windows inside a top-level \l QtObject, in which case the windows will have no transient relationship.

Alternatively you can set or bind \l x and \l y to position the Window explicitly on the screen.

When the user attempts to close a window, the \l closing signal will be emitted. You can force the window to stay open (for example to prompt the user to save changes) by writing an onClosing handler that sets {close.accepted = false} unless it's safe to close the window (for example, because there are no more unsaved changes).

onClosing: (close) => {
if (document.changed) {
close.accepted = false
confirmExitPopup.open()
}
}
// The confirmExitPopup allows user to save or discard the document,
// or to cancel the closing.
bool close()
Close the window.
Definition qwindow.cpp:2354
Since
5.0

\inmodule QtQuick

The QQuickWindow class provides the window for displaying a graphical QML scene.

QQuickWindow provides the graphical scene management needed to interact with and display a scene of QQuickItems.

A QQuickWindow always has a single invisible root item. To add items to this window, reparent the items to the root item or to an existing item in the scene.

For easily displaying a scene from a QML file, see \l{QQuickView}.

Definition at line 41 of file qquickwindow.h.

Constructor & Destructor Documentation

◆ QQuickWindow() [1/2]

QQuickWindow::QQuickWindow ( QQuickWindowPrivate & dd,
QWindow * parent = nullptr )
protected

Definition at line 1137 of file qquickwindow.cpp.

References d.

◆ QQuickWindow() [2/2]

QQuickWindow::QQuickWindow ( QQuickWindowPrivate & dd,
QQuickRenderControl * control )
protected

Definition at line 1161 of file qquickwindow.cpp.

References d.

Member Function Documentation

◆ ~QQuickWindow()

QQuickWindow::~QQuickWindow ( )
overrideprivate

Destroys the window.

Definition at line 1171 of file qquickwindow.cpp.

References d, QQuickRenderControlPrivate::get(), QQuickPixmap::purgeCache(), qDeleteAll(), and QObject::setParent().

+ Here is the call graph for this function:

◆ afterRendering

void QQuickWindow::afterRendering ( )
signal

\qmlsignal QtQuick::Window::beforeRendering()

The signal is emitted after scene graph has added its commands to the command buffer, which is not yet submitted to the graphics queue. If desired, the slot function connected to this signal can query native resources, like the command buffer, before via QSGRendererInterface. Note however that the render pass (or passes) are already recorded at this point and it is not possible to add more commands within the scenegraph's pass. Instead, use afterRenderPassRecording() for that. This signal has therefore limited use in Qt 6, unlike in Qt 5. Rather, it is the combination of beforeRendering() and beforeRenderPassRecording(), or beforeRendering() and afterRenderPassRecording(), that is typically used to achieve under- or overlaying of the custom rendering.

Warning
This signal is emitted from the scene graph rendering thread. If your slot function needs to finish before execution continues, you must make sure that the connection is direct (see Qt::ConnectionType).
Note
When using OpenGL, be aware that setting OpenGL 3.x or 4.x specific states and leaving these enabled or set to non-default values when returning from the connected slot can interfere with the scene graph's rendering. The QOpenGLContext used for rendering by the scene graph will be bound when the signal is emitted.
See also
rendererInterface(), {Scene Graph - RHI Under QML}, {Scene Graph - OpenGL Under QML}, {Scene Graph - Metal Under QML}, {Scene Graph - Vulkan Under QML}, {Scene Graph - Direct3D 11 Under QML}

Referenced by QQuickItem::grabToImage(), and QWaylandQuickOutput::initialize().

+ Here is the caller graph for this function:

◆ beforeRendering

void QQuickWindow::beforeRendering ( )
signal

\qmlsignal QtQuick::Window::afterSynchronizing()

Since
5.3

This signal is emitted after the preparations for the frame have been done, meaning there is a command buffer in recording mode, where applicable. If desired, the slot function connected to this signal can query native resources like the command before via QSGRendererInterface. Note however that the recording of the main render pass is not yet started at this point and it is not possible to add commands within that pass. Starting a pass means clearing the color, depth, and stencil buffers so it is not possible to achieve an underlay type of rendering by just connecting to this signal. Rather, connect to beforeRenderPassRecording(). However, connecting to this signal is still important if the recording of copy type of commands is desired since those cannot be enqueued within a render pass.

Warning
This signal is emitted from the scene graph rendering thread. If your slot function needs to finish before execution continues, you must make sure that the connection is direct (see Qt::ConnectionType).
Note
When using OpenGL, be aware that setting OpenGL 3.x or 4.x specific states and leaving these enabled or set to non-default values when returning from the connected slot can interfere with the scene graph's rendering. The QOpenGLContext used for rendering by the scene graph will be bound when the signal is emitted.
See also
rendererInterface(), {Scene Graph - RHI Under QML}, {Scene Graph - OpenGL Under QML}, {Scene Graph - Metal Under QML}, {Scene Graph - Vulkan Under QML}, {Scene Graph - Direct3D 11 Under QML}

Referenced by QQuick3DSGDirectRenderer::QQuick3DSGDirectRenderer(), QQuickRhiItemNode::QQuickRhiItemNode(), QQuickAnimatedNode::start(), and QQuickAnimatedNode::stop().

+ Here is the caller graph for this function:

◆ beforeSynchronizing

void QQuickWindow::beforeSynchronizing ( )
signal

This signal is emitted before the scene graph is synchronized with the QML state.

Even though the signal is emitted from the scene graph rendering thread, the GUI thread is guaranteed to be blocked, like it is in QQuickItem::updatePaintNode(). Therefore, it is safe to access GUI thread thread data in a slot or lambda that is connected with Qt::DirectConnection.

This signal can be used to do any preparation required before calls to QQuickItem::updatePaintNode().

When using OpenGL, the QOpenGLContext used for rendering by the scene graph will be bound at this point.

Warning
This signal is emitted from the scene graph rendering thread. If your slot function needs to finish before execution continues, you must make sure that the connection is direct (see Qt::ConnectionType).
When using OpenGL, be aware that setting OpenGL 3.x or 4.x specific states and leaving these enabled or set to non-default values when returning from the connected slot can interfere with the scene graph's rendering.

Referenced by QQuickItem::grabToImage(), QWaylandQuickOutput::initialize(), and QDeclarativeGeoMap::itemChange().

+ Here is the caller graph for this function:

◆ closeEvent()

void QQuickWindow::closeEvent ( QCloseEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 215 of file qquickwindow.cpp.

References emit, QEvent::isAccepted(), QEvent::setAccepted(), and QQuickCloseEvent::setAccepted().

+ Here is the call graph for this function:

◆ colorChanged

void QQuickWindow::colorChanged ( const QColor & )
signal

◆ event()

bool QQuickWindow::event ( QEvent * event)
overrideprotectedvirtual

◆ exposeEvent()

void QQuickWindow::exposeEvent ( QExposeEvent * )
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 179 of file qquickwindow.cpp.

References d.

◆ focusInEvent()

void QQuickWindow::focusInEvent ( QFocusEvent * ev)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 232 of file qquickwindow.cpp.

References d.

◆ focusObject()

QObject * QQuickWindow::focusObject ( ) const
overrideprivatevirtual

\reimp

Reimplemented from QWindow.

Definition at line 1391 of file qquickwindow.cpp.

References d, and Q_ASSERT.

Referenced by QQuickTableViewPrivate::releaseItem().

+ Here is the caller graph for this function:

◆ focusOutEvent()

void QQuickWindow::focusOutEvent ( QFocusEvent * ev)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 224 of file qquickwindow.cpp.

References d.

◆ frameSwapped

void QQuickWindow::frameSwapped ( )
signal

This signal is emitted when a frame has been queued for presenting.

With vertical synchronization enabled the signal is emitted at most once per vsync interval in a continuously animating scene.

This signal will be emitted from the scene graph rendering thread.

Referenced by QQuickWindowPrivate::init(), QQuickAnimatedNode::start(), and QQuickAnimatedNode::stop().

+ Here is the caller graph for this function:

◆ hideEvent()

void QQuickWindow::hideEvent ( QHideEvent * )
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 205 of file qquickwindow.cpp.

References d.

◆ keyPressEvent()

void QQuickWindow::keyPressEvent ( QKeyEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 1701 of file qquickwindow.cpp.

References d, and Q_ASSERT.

Referenced by QQuickView::keyPressEvent().

+ Here is the caller graph for this function:

◆ keyReleaseEvent()

void QQuickWindow::keyReleaseEvent ( QKeyEvent * e)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 1712 of file qquickwindow.cpp.

References d, and Q_ASSERT.

Referenced by QQuickView::keyReleaseEvent().

+ Here is the caller graph for this function:

◆ mouseDoubleClickEvent()

void QQuickWindow::mouseDoubleClickEvent ( QMouseEvent * event)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 1769 of file qquickwindow.cpp.

References d, and Q_ASSERT.

◆ mouseMoveEvent()

void QQuickWindow::mouseMoveEvent ( QMouseEvent * event)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 1759 of file qquickwindow.cpp.

References d, and Q_ASSERT.

Referenced by QQuickView::mouseMoveEvent().

+ Here is the caller graph for this function:

◆ mousePressEvent()

void QQuickWindow::mousePressEvent ( QMouseEvent * event)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 1749 of file qquickwindow.cpp.

References d, and Q_ASSERT.

Referenced by QQuickView::mousePressEvent().

+ Here is the caller graph for this function:

◆ mouseReleaseEvent()

void QQuickWindow::mouseReleaseEvent ( QMouseEvent * event)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 1779 of file qquickwindow.cpp.

References d, and Q_ASSERT.

Referenced by QQuickView::mouseReleaseEvent().

+ Here is the caller graph for this function:

◆ Q_REVISION [1/11]

QQuickWindow::Q_REVISION ( 2 ,
1  )
signal

◆ Q_REVISION [2/11]

QQuickWindow::Q_REVISION ( 2 ,
1  )
signal

◆ Q_REVISION [3/11]

QQuickWindow::Q_REVISION ( 2 ,
14  )
signal

◆ Q_REVISION [4/11]

Q_REVISION(2, 2) void sceneGraphError(QQuickWindow QQuickWindow::Q_REVISION ( 2 ,
14  )
signal

◆ Q_REVISION [5/11]

QQuickWindow::Q_REVISION ( 2 ,
2  )
signal

◆ Q_REVISION [6/11]

QQuickWindow::Q_REVISION ( 2 ,
2  )
signal

◆ Q_REVISION [7/11]

QQuickWindow::Q_REVISION ( 2 ,
2  )
signal

◆ Q_REVISION [8/11]

QQuickWindow::Q_REVISION ( 6 ,
0  )
signal

◆ Q_REVISION [9/11]

QQuickWindow::Q_REVISION ( 6 ,
0  )
signal

◆ Q_REVISION [10/11]

QQuickWindow::Q_REVISION ( 6 ,
0  )
signal

◆ Q_REVISION [11/11]

QQuickWindow::Q_REVISION ( 6 ,
0  )
signal

◆ releaseResources

void QQuickWindow::releaseResources ( )
slot

This function tries to release redundant resources currently held by the QML scene.

Calling this function requests the scene graph to release cached graphics resources, such as graphics pipeline objects, shader programs, or image data.

Additionally, depending on the render loop in use, this function may also result in the scene graph and all window-related rendering resources to be released. If this happens, the sceneGraphInvalidated() signal will be emitted, allowing users to clean up their own graphics resources. The setPersistentGraphics() and setPersistentSceneGraph() functions can be used to prevent this from happening, if handling the cleanup is not feasible in the application, at the cost of higher memory usage.

Note
The releasing of cached graphics resources, such as graphics pipelines or shader programs is not dependent on the persistency hints. The releasing of those will happen regardless of the values of the persistent graphics and scenegraph hints.
This function is not related to the QQuickItem::releaseResources() virtual function.
See also
sceneGraphInvalidated(), setPersistentGraphics(), setPersistentSceneGraph()

Definition at line 1237 of file qquickwindow.cpp.

References d, QQuickPixmap::purgeCache(), and qtquick_shadereffect_purge_gui_thread_shader_cache().

Referenced by QQuick3DRenderStats::releaseCachedResources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resizeEvent()

void QQuickWindow::resizeEvent ( QResizeEvent * ev)
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 187 of file qquickwindow.cpp.

References d.

Referenced by QQuickView::resizeEvent().

+ Here is the caller graph for this function:

◆ sceneGraphInitialized

void QQuickWindow::sceneGraphInitialized ( )
signal

\qmlsignal QtQuick::Window::frameSwapped()

This signal is emitted when a frame has been queued for presenting. With vertical synchronization enabled the signal is emitted at most once per vsync interval in a continuously animating scene.

This signal is emitted when the scene graph has been initialized.

This signal will be emitted from the scene graph rendering thread.

Referenced by QQuickWindowPrivate::init(), QQuickVideoOutput::itemChange(), and QQuickAnimatorProxyJob::sceneGraphInitialized().

+ Here is the caller graph for this function:

◆ sceneGraphInvalidated

void QQuickWindow::sceneGraphInvalidated ( )
signal

\qmlsignal QtQuick::Window::sceneGraphInitialized()

This signal is emitted when the scene graph has been invalidated.

This signal implies that the graphics rendering context used has been invalidated and all user resources tied to that context should be released.

When rendering with OpenGL, the QOpenGLContext of this window will be bound when this function is called. The only exception is if the native OpenGL has been destroyed outside Qt's control, for instance through EGL_CONTEXT_LOST.

This signal will be emitted from the scene graph rendering thread.

Referenced by QQuickWindowPrivate::init(), QQuickVideoOutput::itemChange(), QQuickParticlePainter::itemChange(), and QQuick3DItem2D::updateSpatialNode().

+ Here is the caller graph for this function:

◆ showEvent()

void QQuickWindow::showEvent ( QShowEvent * )
overrideprotectedvirtual

\reimp

Reimplemented from QWindow.

Definition at line 197 of file qquickwindow.cpp.

References d.

◆ update

void QQuickWindow::update ( )
slot

Schedules the window to render another frame.

Calling QQuickWindow::update() differs from QQuickItem::update() in that it always triggers a repaint, regardless of changes in the underlying scene graph or not.

Definition at line 399 of file qquickwindow.cpp.

References d, and QQuickRenderControlPrivate::get().

Referenced by QQuickAnimatorController::advance(), QQuickAnimatorController::beforeNodeSync(), QQuickItemGrabResultPrivate::create(), event(), QSGFramebufferObjectNode::scheduleRender(), QQuickRhiItemNode::scheduleUpdate(), QGraphicsScene::setBackgroundBrush(), QGraphicsScene::setForegroundBrush(), QQuick3DSGDirectRenderer::setVisibility(), and QQuickAnimatedNode::start().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ operator<<

QQmlInfo operator<< ( QQmlInfo info,
const QQuickWindow * window )
friend

Definition at line 238 of file qquickwindow.h.

◆ QQuickAnimatorController

friend class QQuickAnimatorController
friend

Definition at line 249 of file qquickwindow.h.

◆ QQuickDeliveryAgentPrivate

friend class QQuickDeliveryAgentPrivate
friend

Definition at line 251 of file qquickwindow.h.

◆ QQuickItem

friend class QQuickItem
friend

Definition at line 245 of file qquickwindow.h.

◆ QQuickItemPrivate

friend class QQuickItemPrivate
friend

Definition at line 246 of file qquickwindow.h.

◆ QQuickRenderControl

friend class QQuickRenderControl
friend

Definition at line 248 of file qquickwindow.h.

◆ QQuickWidget

friend class QQuickWidget
friend

Definition at line 247 of file qquickwindow.h.

◆ QQuickWidgetPrivate

friend class QQuickWidgetPrivate
friend

Definition at line 250 of file qquickwindow.h.

Property Documentation

◆ activeFocusItem

QQuickWindow::activeFocusItem
read

The item which currently has active focus or null if there is no item with active focus.

See also
QQuickItem::forceActiveFocus(), {Keyboard Focus in Qt Quick}

Definition at line 47 of file qquickwindow.h.

Referenced by QQuickWindowAttached::activeFocusItem(), QQuickPopupPrivate::prepareEnterTransition(), and QQuickWindowAttached::windowChange().

◆ color

QQuickWindow::color
readwrite

\qmlproperty color Window::color

The background color for the window.

Setting this property is more efficient than using a separate Rectangle.

Note
If you set the color to "transparent" or to a color with alpha translucency, you should also set suitable \l flags such as {flags: Qt.FramelessWindowHint}. Otherwise, window translucency may not be enabled consistently on all platforms.

The color used to clear the color buffer at the beginning of each frame.

By default, the clear color is white.

See also
setDefaultAlphaBuffer()

Definition at line 45 of file qquickwindow.h.

◆ contentItem

QQuickWindow::contentItem
read

\qmlattachedproperty Item Window::contentItem

Since
5.4

This attached property holds the invisible root item of the scene or null if the item is not in a window. The Window attached property can be attached to any Item.

The invisible root item of the scene.

A QQuickWindow always has a single invisible root item containing all of its content. To add items to this window, reparent the items to the contentItem or to an existing item in the scene.

Definition at line 46 of file qquickwindow.h.

Referenced by QOpenXRView::QOpenXRView(), QQuickOverlay::QQuickOverlay(), QmlJSDebugger::QQuickWindowInspector::QQuickWindowInspector(), QQuickOverlay::~QQuickOverlay(), QQuickWindowQmlImpl::classBegin(), QQuickWindowAttached::contentItem(), QQuickDrawerPrivate::effectiveEdge(), QQuickPopupPrivate::finalizeExitTransition(), QQuickWidgetPrivate::handleWindowChange(), QmlJSDebugger::QQuickWindowInspector::itemsAt(), QQuickOverlay::overlay(), QWaylandQuickOutput::pickClickableItem(), QQuickMouseAreaPrivate::propagate(), QmlJSDebugger::Highlight::setItem(), QQuickWidgetPrivate::setRootObject(), QQuickDrawerPrivate::startDrag(), QmlJSDebugger::QQuickWindowInspector::topVisibleItemAt(), QQuickOverlayPrivate::updateGeometry(), and QQuickWidgetPrivate::updateSize().


The documentation for this class was generated from the following files: