PlasmaQuick::SharedQmlEngine Class
An object that instantiates an entire QML context, with its own declarative engine. More...
| Header: |  #include <SharedQmlEngine> | 
| CMake: |  find_package(PlasmaQuick REQUIRED)target_link_libraries(mytarget PRIVATE Plasma::PlasmaQuick) | 
| Since: | 6.0 | 
| Inherits: | QObject | 
Public Functions
| SharedQmlEngine(QObject *parent = nullptr) | |
| QObject * | createObjectFromComponent(QQmlComponent *component, QQmlContext *context = nullptr, const QVariantHash &initialProperties = QVariantHash()) | 
| QObject * | createObjectFromSource(const QUrl &source, QQmlContext *context = nullptr, const QVariantHash &initialProperties = QVariantHash()) | 
| std::shared_ptr<QQmlEngine> | engine() | 
| bool | isInitializationDelayed() const | 
| QQmlComponent * | mainComponent() const | 
| QQmlContext * | rootContext() const | 
| QObject * | rootObject() const | 
| void | setInitializationDelayed(const bool delay) | 
| void | setSource(const QUrl &source) | 
| void | setSourceFromModule(QAnyStringView module, QAnyStringView type) | 
| void | setTranslationDomain(const QString &translationDomain) | 
| QUrl | source() const | 
| QQmlComponent::Status | status() const | 
| QString | translationDomain() const | 
Public Slots
| void | completeInitialization(const QVariantHash &initialProperties = QVariantHash()) | 
Signals
| void | finished() | 
| void | statusChanged(QQmlComponent::Status) | 
Detailed Description
PlasmaQuick::SharedQmlEngine provides a class to conveniently use QML based declarative user interfaces. A SharedQmlEngine corresponds to one QML file (which can include others). It will a shared QQmlEngine with a single root object, described in the QML file.
Member Function Documentation
[explicit] SharedQmlEngine::SharedQmlEngine(QObject *parent = nullptr)
Construct a new PlasmaQuick::SharedQmlEngine
parent The QObject parent for this object.
[slot] void SharedQmlEngine::completeInitialization(const QVariantHash &initialProperties = QVariantHash())
Finishes the process of initialization. If isInitializationDelayed() is false, calling this will have no effect.
initialProperties optional properties that will be set on the object when created (and before Component.onCompleted gets emitted
QObject *SharedQmlEngine::createObjectFromComponent(QQmlComponent *component, QQmlContext *context = nullptr, const QVariantHash &initialProperties = QVariantHash())
Creates and returns an object based on the provided QQmlComponent with the same QQmlEngine and the same root context as the admin object, that will be the parent of the newly created object
component the component we want to instantiate
context The QQmlContext in which we will create the object, if 0 it will use the engine's root context
initialProperties optional properties that will be set on the object when created (and before Component.onCompleted gets emitted
QObject *SharedQmlEngine::createObjectFromSource(const QUrl &source, QQmlContext *context = nullptr, const QVariantHash &initialProperties = QVariantHash())
Creates and returns an object based on the provided url to a Qml file with the same QQmlEngine and the same root context as the main object, that will be the parent of the newly created object
source Url where the QML file is located
context The QQmlContext in which we will create the object, if 0 it will use the engine's root context.
initialProperties Optional properties that will be set on the object when created (and before Component.onCompleted gets emitted
std::shared_ptr<QQmlEngine> SharedQmlEngine::engine()
Returns the declarative engine that runs the qml file assigned to this widget.
[signal] void SharedQmlEngine::finished()
Emitted when the parsing and execution of the QML file is terminated
bool SharedQmlEngine::isInitializationDelayed() const
Returns true if the initialization of the QML file will be delayed at the end of the event loop
Note: Getter function for property initializationDelayed.
QQmlComponent *SharedQmlEngine::mainComponent() const
Returns the main QQmlComponent of the engine
QQmlContext *SharedQmlEngine::rootContext() const
The components's creation context.
QObject *SharedQmlEngine::rootObject() const
Returns the root object of the declarative object tree
Note: Getter function for property rootObject.
void SharedQmlEngine::setInitializationDelayed(const bool delay)
Sets whether the execution of the QML file has to be delayed later in the event loop. It has to be called before setQmlPath().
In this case it will be possible to assign new objects in the main engine context before the main component gets initialized. In that case it will be possible to access it immediately from the QML code. The initialization will either be completed automatically asynchronously or explicitly by calling completeInitialization()
delay If true the initialization of the QML file will be delayed at the end of the event loop
Note: Setter function for property initializationDelayed.
See also isInitializationDelayed().
void SharedQmlEngine::setSource(const QUrl &source)
Sets the path of the QML file to parse and execute
source The absolute path of a QML file
Note: Setter function for property source.
See also source().
void SharedQmlEngine::setSourceFromModule(QAnyStringView module, QAnyStringView type)
Sets the QML source to execute from a type in a module.
module The module to load the type from.
type The type to load from the module.
void SharedQmlEngine::setTranslationDomain(const QString &translationDomain)
Call this method before calling setupBindings to install a translation domain for all i18n global functions. If a translation domain is set all i18n calls delegate to the matching i18nd calls with the provided translation domain.
The translationDomain affects all i18n calls including those from imports. Because of that modules intended to be used as imports should prefer the i18nd variants and set the translation domain explicitly in each call.
This method is only required if your declarative usage is inside a library. If it's in an application there is no need to set the translation domain as the application's domain can be used.
translationDomain The translation domain to be used for i18n calls.
Note: Setter function for property translationDomain.
See also translationDomain().
QUrl SharedQmlEngine::source() const
Returns the absolute path of the current QML file
Note: Getter function for property source.
See also setSource().
QQmlComponent::Status SharedQmlEngine::status() const
The component's current status.
Note: Getter function for property status.
QString SharedQmlEngine::translationDomain() const
Returns the translation domain for the i18n calls done in this QML engine
Note: Getter function for property translationDomain.
See also setTranslationDomain().