diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-02-11 16:49:55 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-02-12 15:46:01 +0100 |
commit | c70452a65af222343451f19ec62744314444c181 (patch) | |
tree | 10b5d1ed21b39deb82427ed12155920b7c643988 /src | |
parent | b9fcb1d4543fe19962b4cf8dcdb45c6c497e39d8 (diff) |
Doc: Modernize backend example and adapt C++ integration docs
We want people to use the static type registration.
Change-Id: I98e51af9df1a2f73df10f82458a7b7f5c5e5aad1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/doc/snippets/code/backend/backend.h | 2 | ||||
-rw-r--r-- | src/qml/doc/snippets/code/backend/backend.pro | 17 | ||||
-rw-r--r-- | src/qml/doc/snippets/code/backend/main.cpp | 4 | ||||
-rw-r--r-- | src/qml/doc/src/cppintegration/topic.qdoc | 18 |
4 files changed, 28 insertions, 13 deletions
diff --git a/src/qml/doc/snippets/code/backend/backend.h b/src/qml/doc/snippets/code/backend/backend.h index fa7ce9eb86..6c64236bc7 100644 --- a/src/qml/doc/snippets/code/backend/backend.h +++ b/src/qml/doc/snippets/code/backend/backend.h @@ -53,11 +53,13 @@ #include <QObject> #include <QString> +#include <qqml.h> class BackEnd : public QObject { Q_OBJECT Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) + QML_ELEMENT public: explicit BackEnd(QObject *parent = nullptr); diff --git a/src/qml/doc/snippets/code/backend/backend.pro b/src/qml/doc/snippets/code/backend/backend.pro new file mode 100644 index 0000000000..8bd2422718 --- /dev/null +++ b/src/qml/doc/snippets/code/backend/backend.pro @@ -0,0 +1,17 @@ +QT += qml + +#![registration] +CONFIG += qmltypes +QML_IMPORT_NAME = io.qt.examples.backend +QML_IMPORT_MAJOR_VERSION = 1 +#![registration] + +HEADERS += \ + backend.h + +SOURCES += \ + backend.cpp \ + main.cpp + +RESOURCES += \ + main.qml diff --git a/src/qml/doc/snippets/code/backend/main.cpp b/src/qml/doc/snippets/code/backend/main.cpp index 91a012dfda..52fcb38621 100644 --- a/src/qml/doc/snippets/code/backend/main.cpp +++ b/src/qml/doc/snippets/code/backend/main.cpp @@ -51,14 +51,10 @@ #include <QGuiApplication> #include <QQmlApplicationEngine> -#include "backend.h" - int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); - qmlRegisterType<BackEnd>("io.qt.examples.backend", 1, 0, "BackEnd"); - QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); diff --git a/src/qml/doc/src/cppintegration/topic.qdoc b/src/qml/doc/src/cppintegration/topic.qdoc index fbb654378d..bf4565a996 100644 --- a/src/qml/doc/src/cppintegration/topic.qdoc +++ b/src/qml/doc/src/cppintegration/topic.qdoc @@ -49,8 +49,16 @@ file contents with: \snippet code/backend/backend.h backend_header The \c Q_PROPERTY macro declares a property that could be accessed from QML. +The \c QML_ELEMENT macro makes the BackEnd class available in QML. -\li Replace its C++ file contents with: +\li Add the following lines to your project file: + +\snippet code/backend/backend.pro registration + +The BackEnd class is automatically registered as a type, which is accessible +from QML by importing the URL, "\c{io.qt.examples.backend 1.0}". + +\li Replace the contents of \c{backend.cpp} with: \snippet code/backend/backend.cpp backend_cpp @@ -58,14 +66,6 @@ The \c setUserName function emits the \c userNameChanged signal every time \c m_userName value changes. The signal can be handled from QML using the \c onUserNameChanged handler. -\li Include \c "backend.h" in \c main.cpp and register the class as a QML type -under a import URL as shown below: - -\snippet code/backend/main.cpp main_cpp - -The BackEnd class is registered as a type, which is accessible from QML by -importing the URL, "\c{io.qt.examples.backend 1.0}". - \li Replace the contents of \c main.qml with the following code: \snippet code/backend/main.qml main_qml |