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
QQuick3DLoader Class Reference

#include <qquick3dloader_p.h>

+ Inheritance diagram for QQuick3DLoader:
+ Collaboration diagram for QQuick3DLoader:

Public Types

enum  Status { Null , Ready , Loading , Error }
 
- Public Types inherited from QQuick3DNode
enum  TransformSpace { LocalSpace , ParentSpace , SceneSpace }
 
enum  StaticFlags { None }
 

Signals

void itemChanged ()
 
void activeChanged ()
 
void sourceChanged ()
 
void sourceComponentChanged ()
 
void statusChanged ()
 
void progressChanged ()
 
void loaded ()
 
void asynchronousChanged ()
 
- Signals inherited from QQuick3DNode
void xChanged ()
 
void yChanged ()
 
void zChanged ()
 
void rotationChanged ()
 
void eulerRotationChanged ()
 
void positionChanged ()
 
void scaleChanged ()
 
void pivotChanged ()
 
void localOpacityChanged ()
 
void visibleChanged ()
 
void forwardChanged ()
 
void upChanged ()
 
void rightChanged ()
 
void sceneTransformChanged ()
 
void scenePositionChanged ()
 
void sceneRotationChanged ()
 
void sceneScaleChanged ()
 
void staticFlagsChanged ()
 
- Signals inherited from QQuick3DObject
void parentChanged ()
 
void childrenChanged ()
 
void stateChanged ()
 
- 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.
 

Public Member Functions

 QQuick3DLoader (QQuick3DNode *parent=nullptr)
 \qmltype Loader3D \inqmlmodule QtQuick3D \inherits Node
 
 ~QQuick3DLoader () override
 
bool active () const
 \qmlproperty bool QtQuick3D::Loader3D::active This property is true if the Loader3D is currently active.
 
void setActive (bool newVal)
 
Q_INVOKABLE void setSource (QQmlV4FunctionPtr)
 
QUrl source () const
 \qmlproperty url QtQuick3D::Loader3D::source This property holds the URL of the QML component to instantiate.
 
void setSource (const QUrl &)
 
QQmlComponentsourceComponent () const
 \qmlproperty Component QtQuick3D::Loader3D::sourceComponent This property holds the \l{Component} to instantiate.
 
void setSourceComponent (QQmlComponent *)
 
void resetSourceComponent ()
 
Status status () const
 \qmlproperty enumeration QtQuick3D::Loader3D::status \readonly
 
qreal progress () const
 \qmlsignal QtQuick3D::Loader3D::loaded()
 
bool asynchronous () const
 \qmlproperty bool QtQuick3D::Loader3D::asynchronous
 
void setAsynchronous (bool a)
 
QObjectitem () const
 \qmlproperty object QtQuick3D::Loader3D::item \readonly This property holds the top-level object that is currently loaded.
 
- Public Member Functions inherited from QQuick3DNode
 QQuick3DNode (QQuick3DNode *parent=nullptr)
 \qmltype Node \inherits Object3D \inqmlmodule QtQuick3D
 
 ~QQuick3DNode () override
 
float x () const
 \qmlproperty real QtQuick3D::Node::x
 
float y () const
 \qmlproperty real QtQuick3D::Node::y
 
float z () const
 \qmlproperty real QtQuick3D::Node::z
 
QQuaternion rotation () const
 \qmlproperty quaternion QtQuick3D::Node::rotation
 
QVector3D eulerRotation () const
 \qmlproperty vector3d QtQuick3D::Node::eulerRotation
 
QVector3D position () const
 \qmlproperty vector3d QtQuick3D::Node::position
 
QVector3D scale () const
 \qmlproperty vector3d QtQuick3D::Node::scale
 
QVector3D pivot () const
 \qmlproperty vector3d QtQuick3D::Node::pivot
 
float localOpacity () const
 \qmlproperty real QtQuick3D::Node::opacity
 
bool visible () const
 \qmlproperty bool QtQuick3D::Node::visible
 
int staticFlags () const
 \qmlproperty int QtQuick3D::Node::staticFlags
 
QQuick3DNodeparentNode () const
 
QVector3D forward () const
 \qmlproperty vector3d QtQuick3D::Node::forward \readonly
 
QVector3D up () const
 \qmlproperty vector3d QtQuick3D::Node::up \readonly
 
QVector3D right () const
 \qmlproperty vector3d QtQuick3D::Node::right \readonly
 
QVector3D scenePosition () const
 \qmlproperty vector3d QtQuick3D::Node::scenePosition \readonly
 
QQuaternion sceneRotation () const
 \qmlproperty quaternion QtQuick3D::Node::sceneRotation \readonly
 
QVector3D sceneScale () const
 \qmlproperty vector3d QtQuick3D::Node::sceneScale \readonly
 
QMatrix4x4 sceneTransform () const
 \qmlproperty matrix4x4 QtQuick3D::Node::sceneTransform \readonly
 
Q_INVOKABLE void rotate (qreal degrees, const QVector3D &axis, QQuick3DNode::TransformSpace space)
 \qmlmethod QtQuick3D::Node::rotate(real degrees, vector3d axis, enumeration space)
 
Q_INVOKABLE QVector3D mapPositionToScene (const QVector3D &localPosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionToScene(vector3d localPosition)
 
Q_INVOKABLE QVector3D mapPositionFromScene (const QVector3D &scenePosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionFromScene(vector3d scenePosition)
 
Q_INVOKABLE QVector3D mapPositionToNode (const QQuick3DNode *node, const QVector3D &localPosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionToNode(QtQuick3D::Node node, vector3d localPosition)
 
Q_INVOKABLE QVector3D mapPositionFromNode (const QQuick3DNode *node, const QVector3D &localPosition) const
 \qmlmethod vector3d QtQuick3D::Node::mapPositionFromNode(QtQuick3D::Node node, vector3d localPosition)
 
Q_INVOKABLE QVector3D mapDirectionToScene (const QVector3D &localDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionToScene(vector3d localDirection)
 
Q_INVOKABLE QVector3D mapDirectionFromScene (const QVector3D &sceneDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionFromScene(vector3d sceneDirection)
 
Q_INVOKABLE QVector3D mapDirectionToNode (const QQuick3DNode *node, const QVector3D &localDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionToNode(QtQuick3D::Node node, vector3d localDirection)
 
Q_INVOKABLE QVector3D mapDirectionFromNode (const QQuick3DNode *node, const QVector3D &localDirection) const
 \qmlmethod vector3d QtQuick3D::Node::mapDirectionFromNode(QtQuick3D::Node node, vector3d localDirection)
 
void markAllDirty () override
 
- 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 event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
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 QQmlParserStatus
 QQmlParserStatus ()
 
virtual ~QQmlParserStatus ()
 

Protected Member Functions

void componentComplete () override
 Invoked after the root component that caused this instantiation has completed construction.
 
- Protected Member Functions inherited from QQuick3DNode
void connectNotify (const QMetaMethod &signal) override
 
void disconnectNotify (const QMetaMethod &signal) override
 
void componentComplete () override
 Invoked after the root component that caused this instantiation has completed construction.
 
 QQuick3DNode (QQuick3DNodePrivate &dd, QQuick3DNode *parent=nullptr)
 
QSSGRenderGraphObjectupdateSpatialNode (QSSGRenderGraphObject *node) override
 
virtual void itemChange (ItemChange, const ItemChangeData &) override
 
- Protected Member Functions inherited from QQuick3DObject
 QQuick3DObject (QQuick3DObjectPrivate &dd, QQuick3DObject *parent=nullptr)
 
void classBegin () override
 Invoked after class creation, but before any properties have been set.
 
void componentComplete () override
 Invoked after the root component that caused this instantiation has completed construction.
 
bool isComponentComplete () const
 
virtual void preSync ()
 
- 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.
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Properties

bool active
 
QUrl source
 
QQmlComponentsourceComponent
 
QObjectitem
 
Status status
 
qreal progress
 
bool asynchronous
 
- Properties inherited from QQuick3DNode
float x
 
float y
 
float z
 
QQuaternion rotation
 
QVector3D eulerRotation
 
QVector3D position
 
QVector3D scale
 
QVector3D pivot
 
float opacity
 
bool visible
 
QVector3D forward
 
QVector3D up
 
QVector3D right
 
QVector3D scenePosition
 
QQuaternion sceneRotation
 
QVector3D sceneScale
 
QMatrix4x4 sceneTransform
 
int staticFlags
 
- Properties inherited from QQuick3DObject
QQuick3DObjectparent
 \qmlproperty Object3D QtQuick3D::Object3D::parent This property holds the parent of the Object3D in a 3D scene.
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Slots inherited from QQuick3DNode
void setX (float x)
 
void setY (float y)
 
void setZ (float z)
 
void setRotation (const QQuaternion &rotation)
 
void setEulerRotation (const QVector3D &eulerRotation)
 
void setPosition (const QVector3D &position)
 
void setScale (const QVector3D &scale)
 
void setPivot (const QVector3D &pivot)
 
void setLocalOpacity (float opacity)
 
void setVisible (bool visible)
 
void setStaticFlags (int staticFlags)
 
- Public Slots inherited from QQuick3DObject
void update ()
 
void setParentItem (QQuick3DObject *parentItem)
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- 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
 

Detailed Description

Definition at line 42 of file qquick3dloader_p.h.

Member Enumeration Documentation

◆ Status

Enumerator
Null 
Ready 
Loading 
Error 

Definition at line 72 of file qquick3dloader_p.h.

Constructor & Destructor Documentation

◆ QQuick3DLoader()

QQuick3DLoader::QQuick3DLoader ( QQuick3DNode * parent = nullptr)
explicit

\qmltype Loader3D \inqmlmodule QtQuick3D \inherits Node

Allows dynamic loading of a 3D subtree from a URL or Component.

Loader3D is used to dynamically load QML components for Qt Quick 3D.

Loader3D can load a QML file (using the \l source property) or a \l Component object (using the \l sourceComponent property). It is useful for delaying the creation of a component until it is required: for example, when a component should be created on demand, or when a component should not be created unnecessarily for performance reasons.

Note
Loader3D works the same way as \l Loader. The difference between the two is that \l Loader provides a way to dynamically load objects that inherit \l Item, whereas Loader3D provides a way to load objects that inherit \l Object3D and is part of a 3D scene.

Definition at line 50 of file qquick3dloader.cpp.

◆ ~QQuick3DLoader()

QQuick3DLoader::~QQuick3DLoader ( )
override

Definition at line 62 of file qquick3dloader.cpp.

Member Function Documentation

◆ active()

bool QQuick3DLoader::active ( ) const

\qmlproperty bool QtQuick3D::Loader3D::active This property is true if the Loader3D is currently active.

The default value for this property is true.

If the Loader3D is inactive, changing the \l source or \l sourceComponent will not cause the item to be instantiated until the Loader3D is made active.

Setting the value to inactive will cause any \l item loaded by the loader to be released, but will not affect the \l source or \l sourceComponent.

The \l status of an inactive loader is always Null.

See also
source, sourceComponent

Definition at line 88 of file qquick3dloader.cpp.

◆ activeChanged

void QQuick3DLoader::activeChanged ( )
signal

Referenced by setActive().

+ Here is the caller graph for this function:

◆ asynchronous()

bool QQuick3DLoader::asynchronous ( ) const

\qmlproperty bool QtQuick3D::Loader3D::asynchronous

This property holds whether the component will be instantiated asynchronously. By default it is false.

When used in conjunction with the \l source property, loading and compilation will also be performed in a background thread.

Loading asynchronously creates the objects declared by the component across multiple frames, and reduces the likelihood of glitches in animation. When loading asynchronously the status will change to Loader3D.Loading. Once the entire component has been created, the \l item will be available and the status will change to Loader.Ready.

Changing the value of this property to false while an asynchronous load is in progress will force immediate, synchronous completion. This allows beginning an asynchronous load and then forcing completion if the Loader3D content must be accessed before the asynchronous load has completed.

To avoid seeing the items loading progressively set visible appropriately, e.g.

Loader3D {
source: "mycomponent.qml"
visible: status == Loader3D.Ready
}

Note that this property affects object instantiation only; it is unrelated to loading a component asynchronously via a network.

Definition at line 393 of file qquick3dloader.cpp.

◆ asynchronousChanged

void QQuick3DLoader::asynchronousChanged ( )
signal

Referenced by setAsynchronous().

+ Here is the caller graph for this function:

◆ componentComplete()

void QQuick3DLoader::componentComplete ( )
overrideprotectedvirtual

Invoked after the root component that caused this instantiation has completed construction.

At this point all static values and binding values have been assigned to the class.

Implements QQmlParserStatus.

Definition at line 430 of file qquick3dloader.cpp.

References active, and QQuick3DNode::componentComplete().

+ Here is the call graph for this function:

◆ item()

QObject * QQuick3DLoader::item ( ) const

\qmlproperty object QtQuick3D::Loader3D::item \readonly This property holds the top-level object that is currently loaded.

Definition at line 425 of file qquick3dloader.cpp.

◆ itemChanged

void QQuick3DLoader::itemChanged ( )
signal

Referenced by setActive().

+ Here is the caller graph for this function:

◆ loaded

void QQuick3DLoader::loaded ( )
signal

◆ progress()

qreal QQuick3DLoader::progress ( ) const

\qmlsignal QtQuick3D::Loader3D::loaded()

This signal is emitted when the \l status becomes Loader3D.Ready, or on successful initial load.

The corresponding handler is onLoaded.

\qmlproperty real QtQuick3D::Loader3D::progress \readonly

This property holds the progress of loading QML data from the network, from 0.0 (nothing loaded) to 1.0 (finished). Most QML files are quite small, so this value will rapidly change from 0 to 1.

See also
status

Definition at line 347 of file qquick3dloader.cpp.

References QQmlComponent::progress.

◆ progressChanged

void QQuick3DLoader::progressChanged ( )
signal

◆ resetSourceComponent()

void QQuick3DLoader::resetSourceComponent ( )

Definition at line 246 of file qquick3dloader.cpp.

References setSourceComponent().

+ Here is the call graph for this function:

◆ setActive()

void QQuick3DLoader::setActive ( bool newVal)

Definition at line 93 of file qquick3dloader.cpp.

References activeChanged(), QQmlIncubator::clear(), context, QObject::deleteLater(), emit, QQmlContextData::get(), itemChanged(), qmlContext(), QQuick3DObject::setParentItem(), QQuick3DNode::setVisible(), and statusChanged().

+ Here is the call graph for this function:

◆ setAsynchronous()

void QQuick3DLoader::setAsynchronous ( bool a)

Definition at line 398 of file qquick3dloader.cpp.

References asynchronousChanged(), emit, QQmlIncubator::forceCompletion(), QQuick3DObject::isComponentComplete(), QQmlComponent::isLoading(), and QQmlIncubator::isLoading().

+ Here is the call graph for this function:

◆ setSource() [1/2]

void QQuick3DLoader::setSource ( const QUrl & url)

Definition at line 172 of file qquick3dloader.cpp.

References setSource(), and url.

+ Here is the call graph for this function:

◆ setSource() [2/2]

void QQuick3DLoader::setSource ( QQmlV4FunctionPtr args)

Definition at line 136 of file qquick3dloader.cpp.

References args, QV4::Scope::engine, QV4::ExecutionEngine::qmlContext(), QV4::PersistentValue::set(), setSource(), and QV4::Encode::undefined().

Referenced by setSource(), and setSource().

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

◆ setSourceComponent()

void QQuick3DLoader::setSourceComponent ( QQmlComponent * comp)

Definition at line 230 of file qquick3dloader.cpp.

References emit, QQmlStrongJSQObjectReference< T >::setObject(), and sourceComponentChanged().

Referenced by resetSourceComponent().

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

◆ source()

QUrl QQuick3DLoader::source ( ) const

\qmlproperty url QtQuick3D::Loader3D::source This property holds the URL of the QML component to instantiate.

To unload the currently loaded object, set this property to an empty string, or set \l sourceComponent to undefined. Setting source to a new URL will also cause the item created by the previous URL to be unloaded.

See also
sourceComponent, status, progress

Definition at line 167 of file qquick3dloader.cpp.

◆ sourceChanged

void QQuick3DLoader::sourceChanged ( )
signal

◆ sourceComponent()

QQmlComponent * QQuick3DLoader::sourceComponent ( ) const

\qmlproperty Component QtQuick3D::Loader3D::sourceComponent This property holds the \l{Component} to instantiate.

\qml Item { Component { id: redCube Model { source: "#Cube" materials: DefaultMaterial { diffuseColor: "red" } } }

Loader3D { sourceComponent: redCube } Loader3D { sourceComponent: redCube; x: 10 } } \endqml

To unload the currently loaded object, set this property to undefined.

See also
source, progress

\qmlmethod object QtQuick3D::Loader3D::setSource(url source, object properties)

Creates an object instance of the given source component that will have the given properties. The properties argument is optional. The instance will be accessible via the \l item property once loading and instantiation is complete.

If the \l active property is false at the time when this function is called, the given source component will not be loaded but the source and initial properties will be cached. When the loader is made \l active, an instance of the source component will be created with the initial properties set.

Setting the initial property values of an instance of a component in this manner will {not} trigger any associated \l{Behavior}s.

Note that the cached properties will be cleared if the \l source or \l sourceComponent is changed after calling this function but prior to setting the loader \l active.

See also
source, active

Definition at line 225 of file qquick3dloader.cpp.

◆ sourceComponentChanged

void QQuick3DLoader::sourceComponentChanged ( )
signal

Referenced by setSourceComponent().

+ Here is the caller graph for this function:

◆ status()

QQuick3DLoader::Status QQuick3DLoader::status ( ) const

\qmlproperty enumeration QtQuick3D::Loader3D::status \readonly

This property holds the status of QML loading. It can be one of:

\value Loader3D.Null The loader is inactive or no QML source has been set. \value Loader3D.Ready The QML source has been loaded. \value Loader3D.Loading The QML source is currently being loaded. \value Loader3D.Error An error occurred while loading the QML source.

Use this status to provide an update or respond to the status change in some way. For example, you could:

\list

  • Trigger a state change: \qml State { name: 'loaded'; when: loader.status == Loader3D.Ready } \endqml
  • Implement an onStatusChanged signal handler: \qml Loader3D { id: loader onStatusChanged: if (loader.status == Loader3D.Ready) console.log('Loaded') } \endqml
  • Bind to the status value: \qml Text { text: loader.status == Loader3D.Ready ? 'Loaded' : 'Not loaded' } \endqml \endlist

Note that if the source is a local file, the status will initially be Ready (or Error). While there will be no onStatusChanged signal in that case, the onLoaded will still be invoked.

See also
progress

Definition at line 291 of file qquick3dloader.cpp.

References QQmlComponent::Error, QQmlIncubator::Error, Error, QUrl::isEmpty(), QQmlComponent::Loading, QQmlIncubator::Loading, Loading, QQmlComponent::Null, Null, Ready, QQmlComponent::status, and QQmlIncubator::status().

+ Here is the call graph for this function:

◆ statusChanged

void QQuick3DLoader::statusChanged ( )
signal

Referenced by setActive().

+ Here is the caller graph for this function:

Property Documentation

◆ active

bool QQuick3DLoader::active
readwrite

Definition at line 46 of file qquick3dloader_p.h.

Referenced by componentComplete().

◆ asynchronous

bool QQuick3DLoader::asynchronous
readwrite

Definition at line 52 of file qquick3dloader_p.h.

◆ item

QObject * QQuick3DLoader::item
read

Definition at line 49 of file qquick3dloader_p.h.

◆ progress

qreal QQuick3DLoader::progress
read

Definition at line 51 of file qquick3dloader_p.h.

◆ source

QUrl QQuick3DLoader::source
readwrite

Definition at line 47 of file qquick3dloader_p.h.

◆ sourceComponent

QQmlComponent * QQuick3DLoader::sourceComponent
readwrite

Definition at line 48 of file qquick3dloader_p.h.

◆ status

Status QQuick3DLoader::status
read

Definition at line 50 of file qquick3dloader_p.h.


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