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>.
|
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick More...
#include <qquickwindow.h>
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 | |
QObject * | sender () 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 | |
QQuickItem * | contentItem |
\qmlattachedproperty Item Window::contentItem | |
QQuickItem * | activeFocusItem |
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. | |
QObject * | focusObject () 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< QString > | bindableObjectName () |
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). | |
QThread * | thread () 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 > | |
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 > | |
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 QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () 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 QPlatformSurface * | surfaceHandle () 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< QObjectData > | d_ptr |
Protected Attributes inherited from QSurface | |
SurfaceClass | m_type |
QSurfacePrivate * | m_reserved |
Related Symbols inherited from QObject | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
\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).
\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.
|
protected |
Definition at line 1137 of file qquickwindow.cpp.
References d.
|
protected |
Definition at line 1161 of file qquickwindow.cpp.
References d.
|
overrideprivate |
Destroys the window.
Definition at line 1171 of file qquickwindow.cpp.
References d, QQuickRenderControlPrivate::get(), QQuickPixmap::purgeCache(), qDeleteAll(), and QObject::setParent().
|
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.
Referenced by QQuickItem::grabToImage(), and QWaylandQuickOutput::initialize().
|
signal |
\qmlsignal QtQuick::Window::afterSynchronizing()
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.
Referenced by QQuick3DSGDirectRenderer::QQuick3DSGDirectRenderer(), QQuickRhiItemNode::QQuickRhiItemNode(), QQuickAnimatedNode::start(), and QQuickAnimatedNode::stop().
|
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.
Referenced by QQuickItem::grabToImage(), QWaylandQuickOutput::initialize(), and QDeclarativeGeoMap::itemChange().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Definition at line 215 of file qquickwindow.cpp.
References emit, QEvent::isAccepted(), QEvent::setAccepted(), and QQuickCloseEvent::setAccepted().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Reimplemented in QQuickWindowQmlImpl.
Definition at line 1437 of file qquickwindow.cpp.
References QEvent::accept(), QEvent::ApplicationPaletteChange, QObject::childEvent(), QEvent::ChildWindowAdded, d, QEvent::DevicePixelRatioChange, QEvent::DragEnter, QEvent::DragLeave, QEvent::DragMove, QEvent::Drop, QEvent::Enter, QWindow::event(), QEvent::FocusAboutToChange, QQuickWindowPrivate::FullUpdateRequest, QPointingDevicePrivate::get(), QEvent::InputMethod, QEvent::InputMethodQuery, insert(), QQuickDeliveryAgentPrivate::isSynthMouse(), QQuickDeliveryAgentPrivate::isTouchEvent(), QEvent::LanguageChange, QEvent::Leave, QEvent::LocaleChange, QGuiApplication::palette(), QEvent::PlatformSurface, QEventPoint::Pressed, Q_ASSERT, Q_FALLTHROUGH, qCDebug, QEventPoint::Released, ret, QCoreApplication::sendEvent(), QQuickDeliveryAgentPrivate::subsceneAgentsExist, QPlatformSurfaceEvent::SurfaceAboutToBeDestroyed, QEvent::TouchBegin, QEvent::TouchEnd, QEvent::TouchUpdate, QQuickWindowPrivate::TriggerContextCreationFailure, update(), QEvent::UpdateRequest, QEvent::WindowActivate, and QEvent::WindowDeactivate.
Referenced by QQuickWindowQmlImpl::event().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
overrideprivatevirtual |
\reimp
Reimplemented from QWindow.
Definition at line 1391 of file qquickwindow.cpp.
Referenced by QQuickTableViewPrivate::releaseItem().
|
overrideprotectedvirtual |
|
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().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Definition at line 1701 of file qquickwindow.cpp.
Referenced by QQuickView::keyPressEvent().
\reimp
Reimplemented from QWindow.
Definition at line 1712 of file qquickwindow.cpp.
Referenced by QQuickView::keyReleaseEvent().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Definition at line 1759 of file qquickwindow.cpp.
Referenced by QQuickView::mouseMoveEvent().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Definition at line 1749 of file qquickwindow.cpp.
Referenced by QQuickView::mousePressEvent().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Definition at line 1779 of file qquickwindow.cpp.
Referenced by QQuickView::mouseReleaseEvent().
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
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.
Definition at line 1237 of file qquickwindow.cpp.
References d, QQuickPixmap::purgeCache(), and qtquick_shadereffect_purge_gui_thread_shader_cache().
Referenced by QQuick3DRenderStats::releaseCachedResources().
|
overrideprotectedvirtual |
\reimp
Reimplemented from QWindow.
Definition at line 187 of file qquickwindow.cpp.
References d.
Referenced by QQuickView::resizeEvent().
|
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().
|
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().
|
overrideprotectedvirtual |
|
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().
|
friend |
Definition at line 238 of file qquickwindow.h.
|
friend |
Definition at line 249 of file qquickwindow.h.
|
friend |
Definition at line 251 of file qquickwindow.h.
|
friend |
Definition at line 245 of file qquickwindow.h.
|
friend |
Definition at line 246 of file qquickwindow.h.
|
friend |
Definition at line 248 of file qquickwindow.h.
|
friend |
Definition at line 247 of file qquickwindow.h.
|
friend |
Definition at line 250 of file qquickwindow.h.
|
read |
The item which currently has active focus or null
if there is no item with active focus.
Definition at line 47 of file qquickwindow.h.
Referenced by QQuickWindowAttached::activeFocusItem(), QQuickPopupPrivate::prepareEnterTransition(), and QQuickWindowAttached::windowChange().
|
readwrite |
\qmlproperty color Window::color
The background color for the window.
Setting this property is more efficient than using a separate Rectangle.
"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.
Definition at line 45 of file qquickwindow.h.
|
read |
\qmlattachedproperty Item Window::contentItem
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().