diff --git a/src/qml/doc/src/cppclasses/topic.qdoc b/src/qml/doc/src/cppclasses/topic.qdoc
index 66a374e8118bd7e91df6d7a22536af5590e038b1..7c21793cfd6d6f6a80c5130f4cefc8b25b62fd8d 100644
--- a/src/qml/doc/src/cppclasses/topic.qdoc
+++ b/src/qml/doc/src/cppclasses/topic.qdoc
@@ -88,7 +88,7 @@ properties of a QQmlContext, and how to access the context for an object.
 Dynamic object instantiation and dynamic expression evaluation are both core
 concepts in QML.  QML documents define object types which can be instantiated
 at run-time using a QQmlComponent.  An instance of the QQmlComponent class can
-be created in C++ directly, or via the \l{QML:Qt::createComponent()}
+be created in C++ directly, or via the \l{QtQml2::Qt::createComponent()}
 {Qt.createComponent()} function in imperative QML code.  Arbitrary expressions
 can be calculated in C++ via the QQmlExpression class, and such expressions
 can interact directly the QML context.
diff --git a/src/qml/doc/src/cppintegration/contextproperties.qdoc b/src/qml/doc/src/cppintegration/contextproperties.qdoc
index aaac43e470ca7b0e749ed46615849f2e20291740..1c2bced738d1dccd4041501cfe19131a9648ee3c 100644
--- a/src/qml/doc/src/cppintegration/contextproperties.qdoc
+++ b/src/qml/doc/src/cppintegration/contextproperties.qdoc
@@ -74,7 +74,7 @@ QML code invokes a method on the object instance:
 \endtable
 
 (Note that date/time values returned from C++ to QML can be formatted through
-\l{QML:Qt::formatDateTime}{Qt.formatDateTime()} and associated functions.)
+\l{QtQml2::Qt::formatDateTime}{Qt.formatDateTime()} and associated functions.)
 
 If the QML item needs to receive signals from the context property, it can connect to them using the
 \l Connections type. For example, if \c ApplicationData has a signal named \c
diff --git a/src/qml/doc/src/cppintegration/data.qdoc b/src/qml/doc/src/cppintegration/data.qdoc
index dc1b4cae9c6ac6c62f6087ad4404395379ad18bf..74a93436f53d4d171d1983767ee22f0d1d2446a7 100644
--- a/src/qml/doc/src/cppintegration/data.qdoc
+++ b/src/qml/doc/src/cppintegration/data.qdoc
@@ -124,7 +124,7 @@ QQuaternion and QMatrix4x4, are only available from QML when the \l {Qt Quick}
 module is included.
 
 As a convenience, many of these types can be specified in QML by string values,
-or by a related method provided by the \l {QML:Qt} object. For example, the \l
+or by a related method provided by the \l {QtQml2::Qt} object. For example, the \l
 {Image::sourceSize} property is of type \l size (which automatically translates
 to the QSize type) and can be specified by a string value formatted as
 "width\c{x}height", or by the Qt.size() function:
diff --git a/src/qml/doc/src/javascript/dynamicobjectcreation.qdoc b/src/qml/doc/src/javascript/dynamicobjectcreation.qdoc
index 421b180f7b16bc26038b9f2aff59a5872bcb3da4..8020f0371e8d4617af02a95d37980ef0cca2248d 100644
--- a/src/qml/doc/src/javascript/dynamicobjectcreation.qdoc
+++ b/src/qml/doc/src/javascript/dynamicobjectcreation.qdoc
@@ -42,8 +42,8 @@ demonstration of the concepts discussed on this page.
 \section1 Creating Objects Dynamically
 
 There are two ways to create objects dynamically from JavaScript. You can
-either call \l {QML:Qt::createComponent()}{Qt.createComponent()} to
-dynamically create a \l Component object, or use \l{QML:Qt::createQmlObject()}
+either call \l {QtQml2::Qt::createComponent()}{Qt.createComponent()} to
+dynamically create a \l Component object, or use \l{QtQml2::Qt::createQmlObject()}
 {Qt.createQmlObject()} to create an object from a string of QML.  Creating a
 component is better if you have an existing component defined in a QML document
 and you want to dynamically create instances of that component.  Otherwise,
@@ -54,7 +54,7 @@ generated at runtime.
 \section2 Creating a Component Dynamically
 
 To dynamically load a component defined in a QML file, call the
-\l {QML:Qt::createComponent()}{Qt.createComponent()} function in the
+\l {QtQml2::Qt::createComponent()}{Qt.createComponent()} function in the
 \l {QmlGlobalQtObject}{Qt object}.
 This function takes the URL of the QML file as its only argument and creates
 a \l Component object from this URL.
@@ -113,7 +113,7 @@ created object is a visual (Qt Quick) object.  The created object will become a
 child of the \c appWindow object in \c main.qml, and appear in the scene.
 
 When using files with relative paths, the path should
-be relative to the file where \l {QML:Qt::createComponent()}
+be relative to the file where \l {QtQml2::Qt::createComponent()}
 {Qt.createComponent()} is executed.
 
 To connect signals to (or receive signals from) dynamically created objects,
@@ -127,7 +127,7 @@ It is also possible to instantiate components without blocking via the
 \section2 Creating an Object from a String of QML
 
 If the QML is not defined until runtime, you can create a QML object from
-a string of QML using the \l{QML:Qt::createQmlObject()}{Qt.createQmlObject()}
+a string of QML using the \l{QtQml2::Qt::createQmlObject()}{Qt.createQmlObject()}
 function, as in the following example:
 
 \snippet qml/createQmlObject.qml 0
@@ -153,9 +153,9 @@ first, the bindings in the dynamic object will no longer work.
 The actual creation context depends on how an object is created:
 
 \list
-\li If \l {QML:Qt::createComponent()}{Qt.createComponent()} is used, the
+\li If \l {QtQml2::Qt::createComponent()}{Qt.createComponent()} is used, the
     creation context is the QQmlContext in which this method is called
-\li If \l{QML:Qt::createQmlObject()}{Qt.createQmlObject()} is called, the
+\li If \l{QtQml2::Qt::createQmlObject()}{Qt.createQmlObject()} is called, the
     creation context is the context of the parent object passed to this method
 \li If a \c {Component{}} object is defined and \l {Component::createObject()}
     {createObject()} or \l {Component::incubateObject()}{incubateObject()} is
@@ -221,7 +221,7 @@ Item {
 This would result in an error, since objects can only be dynamically
 destroyed if they were dynamically created.
 
-Objects created with \l{QML:Qt::createQmlObject()}{Qt.createQmlObject()}
+Objects created with \l{QtQml2::Qt::createQmlObject()}{Qt.createQmlObject()}
 can similarly be destroyed using \c destroy():
 
 \snippet qml/createQmlObject.qml 0
diff --git a/src/qml/doc/src/javascript/imports.qdoc b/src/qml/doc/src/javascript/imports.qdoc
index f4d7f7dc0849219998b567ab08d0ed2e18612d28..809b74ed5200541d2670a20cd5e22a9d273a41c5 100644
--- a/src/qml/doc/src/javascript/imports.qdoc
+++ b/src/qml/doc/src/javascript/imports.qdoc
@@ -125,14 +125,14 @@ When a JavaScript file is imported, it must be imported with a qualifier.  The
 functions in that file are then accessible from the importing script via the
 qualifier (that is, as \tt{Qualifier.functionName(params)}).  Sometimes it is
 desirable to have the functions made available in the importing context without
-needing to qualify them, and in this circumstance the \l{QML:Qt::include()}
+needing to qualify them, and in this circumstance the \l{QtQml2::Qt::include()}
 {Qt.include()} function may be used to include one JavaScript file from another.
 This copies all functions from the other file into the current file's
 namespace, but ignores all pragmas and imports defined in that file.
 
 For example, the QML code below left calls \c showCalculations() in \c script.js,
 which in turn can call \c factorial() in \c factorial.js, as it has included
-\c factorial.js using \l {QML:Qt::include()}{Qt.include()}.
+\c factorial.js using \l {QtQml2::Qt::include()}{Qt.include()}.
 
 \table
 \row
@@ -142,7 +142,7 @@ which in turn can call \c factorial() in \c factorial.js, as it has included
 \li \snippet qml/integrating-javascript/includejs/factorial.js 0
 \endtable
 
-Notice that calling \l {QML:Qt::include()}{Qt.include()} copies all functions
+Notice that calling \l {QtQml2::Qt::include()}{Qt.include()} copies all functions
 from \c factorial.js into the \c MyScript namespace, which means the QML
 component can also access \c factorial() directly as \c MyScript.factorial().
 
diff --git a/src/qml/doc/src/qmltypereference.qdoc b/src/qml/doc/src/qmltypereference.qdoc
index 54e10b63a8580437704934424e427f2408d591d6..f0aadbaf3254544491e27e0bc1d8614169d0f9f4 100644
--- a/src/qml/doc/src/qmltypereference.qdoc
+++ b/src/qml/doc/src/qmltypereference.qdoc
@@ -93,7 +93,7 @@ MyDatePicker { minDate: "2000-01-01"; maxDate: "2020-12-31" }
 \endqml
 
 To read a date value returned from a C++ extension class, use
-\l{QML:Qt::formatDate()}{Qt.formatDate()} and \l{QML:Qt::formatDateTime()}{Qt.formatDateTime()}.
+\l{QtQml2::Qt::formatDate()}{Qt.formatDate()} and \l{QtQml2::Qt::formatDateTime()}{Qt.formatDateTime()}.
 
 When integrating with C++, note that any QDate value
 \l{qtqml-cppintegration-data.html}{passed into QML from C++} is automatically
@@ -124,7 +124,7 @@ MyTimePicker { time: "14:22:15" }
 \endqml
 
 To read a time value returned from a C++ extension class, use
-\l{QML:Qt::formatTime()}{Qt.formatTime()} and \l{QML:Qt::formatDateTime()}{Qt.formatDateTime()}.
+\l{QtQml2::Qt::formatTime()}{Qt.formatTime()} and \l{QtQml2::Qt::formatDateTime()}{Qt.formatDateTime()}.
 
 Note that when converting historical times to and from javascript that QDateTime and the JS Date object
 have different methods of calculating historical daylight savings time application. This can lead to variations of one hour
@@ -153,7 +153,7 @@ To create a \c point value, specify it as a "x,y" string:
 CustomObject { myPointProperty: "0,20" }
 \endqml
 
-Or use the \l{QML:Qt::point()}{Qt.point()} function:
+Or use the \l{QtQml2::Qt::point()}{Qt.point()} function:
 
 \qml
 CustomObject { myPointProperty: Qt.point(0, 20) }
@@ -191,7 +191,7 @@ To create a \c size value, specify it as a "width x height" string:
 Image { sourceSize: "150x50" }
 \endqml
 
-Or use the \l{QML:Qt::size()}{Qt.size()} function:
+Or use the \l{QtQml2::Qt::size()}{Qt.size()} function:
 
 \qml
 Image { sourceSize: Qt.size(150, 50) }
@@ -231,7 +231,7 @@ To create a \c rect value, specify it as a "x, y, width x height" string:
 CustomObject { myRectProperty: "50,50,100x100" }
 \endqml
 
-Or use the \l{QML:Qt::rect()}{Qt.rect()} function:
+Or use the \l{QtQml2::Qt::rect()}{Qt.rect()} function:
 
 \qml
 CustomObject { myRectProperty: Qt.rect(50, 50, 100, 100) }
diff --git a/src/qml/doc/src/whatsnew.qdoc b/src/qml/doc/src/whatsnew.qdoc
index 154c7cfd0da0614b551a083d7a4739ecb4cf3257..6ca979db374f54b37d90886fc2b4c51c00649c7a 100644
--- a/src/qml/doc/src/whatsnew.qdoc
+++ b/src/qml/doc/src/whatsnew.qdoc
@@ -94,7 +94,7 @@ has now been replaced by the new \l {Qt QML} and \l {Qt Quick} modules. See the
 
 \list
 \li QQmlExpression can now be constructed directly (and more efficiently) from a QQmlScriptString.
-\li The \l {QML:Qt} object now provides a \l{QML:Qt::inputMethod} property to access the active
+\li The \l {QtQml2::Qt}{Qt} global object now provides an \l{QtQml2::Qt::inputMethod}{inputMethod} property to access the active
     text input method for an application.
 \endlist
 
diff --git a/src/qml/qml/qqmlcomponent.cpp b/src/qml/qml/qqmlcomponent.cpp
index 7cf7c5475e896549ec39da12226fa88537f75054..73f778e86a8f5136787bd11cc8063910771e3745 100644
--- a/src/qml/qml/qqmlcomponent.cpp
+++ b/src/qml/qml/qqmlcomponent.cpp
@@ -229,7 +229,7 @@ static inline QString buildTypeNameForDebug(const QMetaObject *metaObject)
     to specify how each list item is to be displayed.
 
     \c Component objects can also be created dynamically using
-    \l{QML:Qt::createComponent()}{Qt.createComponent()}.
+    \l{QtQml2::Qt::createComponent()}{Qt.createComponent()}.
 
     \section2 Creation Context
 
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp
index 34ebe0a9e212cc8e5fd28543710c235dbe08d586..377d0c49d6d66c154076e81bc40fe762c9c7b5e0 100644
--- a/src/qml/qml/qqmlengine.cpp
+++ b/src/qml/qml/qqmlengine.cpp
@@ -275,8 +275,9 @@ QQmlImageProviderBase::~QQmlImageProviderBase()
 
 /*!
 \qmltype Qt
-    \instantiates QQmlEnginePrivate
-  \ingroup qml-utility-elements
+\inqmlmodule QtQml 2
+\instantiates QQmlEnginePrivate
+\ingroup qml-utility-elements
 \brief The QML global Qt object provides useful enums and functions from Qt.
 
 \keyword QmlGlobalQtObject
diff --git a/src/qml/qml/qqmllocale.cpp b/src/qml/qml/qqmllocale.cpp
index 15ddcc7c29191c010907203eec0af816cae4f5ae..194a5ca7e7b9ed37dd192cdd69a13a49245ecbfc 100644
--- a/src/qml/qml/qqmllocale.cpp
+++ b/src/qml/qml/qqmllocale.cpp
@@ -772,10 +772,10 @@ V8_DEFINE_EXTENSION(QV8LocaleDataDeletable, localeV8Data);
     \inqmlmodule QtQml 2
     \brief Provides locale specific properties and formatted data
 
-    The Locale object may only be created via the \l{QML:Qt::locale()}{Qt.locale()} function.
+    The Locale object may only be created via the \l{QtQml2::Qt::locale()}{Qt.locale()} function.
     It cannot be created directly.
 
-    The \l{QML:Qt::locale()}{Qt.locale()} function returns a JS Locale object representing the
+    The \l{QtQml2::Qt::locale()}{Qt.locale()} function returns a JS Locale object representing the
     locale with the specified name, which has the format
     "language[_territory][.codeset][@modifier]" or "C".
 
diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
index b5f4bf555cafa58251285b54f1b60fc8709cfd8e..29dba5f4b7a060a1cd44476c0270f2075a944348 100644
--- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
+++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp
@@ -821,7 +821,7 @@ to \c format.
 The \a date parameter may be a JavaScript \c Date object, a \l{date}{date}
 property, a QDate, or QDateTime value. The \a format parameter may be any of
 the possible format values as described for
-\l{QML:Qt::formatDateTime()}{Qt.formatDateTime()}.
+\l{QtQml2::Qt::formatDateTime()}{Qt.formatDateTime()}.
 
 If \a format is not specified, \a date is formatted using
 \l {Qt::DefaultLocaleShortDate}{Qt.DefaultLocaleShortDate}.
@@ -862,7 +862,7 @@ Returns a string representation of \c time, optionally formatted according to
 
 The \a time parameter may be a JavaScript \c Date object, a QTime, or QDateTime
 value. The \a format parameter may be any of the possible format values as
-described for \l{QML:Qt::formatDateTime()}{Qt.formatDateTime()}.
+described for \l{QtQml2::Qt::formatDateTime()}{Qt.formatDateTime()}.
 
 If \a format is not specified, \a time is formatted using
 \l {Qt::DefaultLocaleShortDate}{Qt.DefaultLocaleShortDate}.
@@ -978,7 +978,7 @@ For example, if the following date/time value was specified:
     \endcode
 
 This \a dateTime value could be passed to \c Qt.formatDateTime(),
-\l {QML:Qt::formatDate()}{Qt.formatDate()} or \l {QML:Qt::formatTime()}{Qt.formatTime()}
+\l {QtQml2::Qt::formatDate()}{Qt.formatDate()} or \l {QtQml2::Qt::formatTime()}{Qt.formatTime()}
 with the \a format values below to produce the following results:
 
     \table
@@ -1138,7 +1138,7 @@ For example, if the above snippet had misspelled color as 'colro' then the array
 
 Note that this function returns immediately, and therefore may not work if
 the \a qml string loads new components (that is, external QML files that have not yet been loaded).
-If this is the case, consider using \l{QML:Qt::createComponent()}{Qt.createComponent()} instead.
+If this is the case, consider using \l{QtQml2::Qt::createComponent()}{Qt.createComponent()} instead.
 
 See \l {Dynamic QML Object Creation from JavaScript} for more information on using this function.
 */
@@ -1264,7 +1264,7 @@ For example:
 See \l {Dynamic QML Object Creation from JavaScript} for more information on using this function.
 
 To create a QML object from an arbitrary string of QML (instead of a file),
-use \l{QML:Qt::createQmlObject()}{Qt.createQmlObject()}.
+use \l{QtQml2::Qt::createQmlObject()}{Qt.createQmlObject()}.
 */
 v8::Handle<v8::Value> createComponent(const v8::Arguments &args)
 {
diff --git a/src/quick/doc/src/advtutorial.qdoc b/src/quick/doc/src/advtutorial.qdoc
index b31b6fe2bf6886aeb184176e7a5829c14fd41bfe..80a0173f3273327d11e103ca8ec6d03ab7b11a3b 100644
--- a/src/quick/doc/src/advtutorial.qdoc
+++ b/src/quick/doc/src/advtutorial.qdoc
@@ -165,7 +165,7 @@ and moves the new block to its position on the game canvas. This involves severa
 
 \list
 
-\li \l {QML:Qt::createComponent()}{Qt.createComponent()} is called to
+\li \l {QtQml2::Qt::createComponent()}{Qt.createComponent()} is called to
    generate a type from \c Block.qml.  If the component is ready,
    we can call \c createObject() to create an instance of the \c Block
    item.
diff --git a/src/quick/doc/src/concepts/positioning/righttoleft.qdoc b/src/quick/doc/src/concepts/positioning/righttoleft.qdoc
index 7052de3b496d39ad738ab38713b1bdfa1f61701c..aec8911e374e3330e1494f4149a3e1187374933a 100644
--- a/src/quick/doc/src/concepts/positioning/righttoleft.qdoc
+++ b/src/quick/doc/src/concepts/positioning/righttoleft.qdoc
@@ -139,7 +139,7 @@ The painting of these icons can be mirrored with a dedicated \c mirror property
 
 \section1 Default layout direction
 
-The \l {QML:Qt::application}{Qt.application.layoutDirection} property can be used to query the active layout direction of the
+The \l {QtQml2::Qt::application}{Qt.application.layoutDirection} property can be used to query the active layout direction of the
 application. It is based on QApplication::layoutDirection(), which most commonly determines the layout
 direction from the active language translation file.
 
diff --git a/src/quick/doc/src/qmltypereference.qdoc b/src/quick/doc/src/qmltypereference.qdoc
index 43d6b952cbcb81a399471c3090742dd88785a85c..7e49ac0f514aa5ddefa7f903e7b8cefe60d80507 100644
--- a/src/quick/doc/src/qmltypereference.qdoc
+++ b/src/quick/doc/src/qmltypereference.qdoc
@@ -78,9 +78,9 @@ In addition, the \c QtQuick module provides the following basic types:
 \section1 Object Types
 
 All of the object types provided by \c QtQuick are based on the \l{Item} type,
-which itself derives from \l{QML::QtObject}.  \l{qtqml-typereference-topic.html#object-types}
+which itself derives from \l{QtQml2::QtObject}{QtObject}.  \l{qtqml-typereference-topic.html#object-types}
 {QML object types} provided by the Qt QML module
-(such as \l{QML::QtObject} and \l{QML::Component}) are also available when
+(such as \l{QtQml2::QtObject}{QtObject} and \l{QtQml2::Component}{Component}) are also available when
 you import \c QtQuick.
 
 \section2 Visual Types
@@ -311,9 +311,9 @@ For more details about the module itself, see the \l{Qt Quick} module page.
     \li By a hexadecimal triplet or quad in the form \c "#RRGGBB" and \c "#AARRGGBB"
         respectively. For example, the color red corresponds to a triplet of \c "#FF0000"
         and a slightly transparent blue to a quad of \c "#800000FF".
-    \li Using the \l{QML:Qt::rgba()}{Qt.rgba()}, \l{QML:Qt::hsla()}{Qt.hsla()},
-        \l{QML:Qt::darker()}{Qt.darker()}, \l{QML:Qt::lighter()}{Qt.lighter()} or
-        \l{QML:Qt::tint()}{Qt.tint()} functions.
+    \li Using the \l{QtQml2::Qt::rgba()}{Qt.rgba()}, \l{QtQml2::Qt::hsla()}{Qt.hsla()},
+        \l{QtQml2::Qt::darker()}{Qt.darker()}, \l{QtQml2::Qt::lighter()}{Qt.lighter()} or
+        \l{QtQml2::Qt::tint()}{Qt.tint()} functions.
     \endlist
 
     Example:
@@ -335,7 +335,7 @@ For more details about the module itself, see the \l{Qt Quick} module page.
     }
     \endqml
 
-    To test color values for equality, use the \l{QML:Qt::colorEqual()}{Qt.colorEqual()}
+    To test color values for equality, use the \l{QtQml2::Qt::colorEqual()}{Qt.colorEqual()}
     function.  This allows colors to be accurately compared whether they are in property
     form or in any of the acceptable string specification forms.
 
@@ -576,7 +576,7 @@ console.log(c + " " + d); // false true
     Rotation { angle: 60; axis: "0,1,0" }
     \endqml
 
-    or with the \l{QML:Qt::vector3d()}{Qt.vector3d()} function:
+    or with the \l{QtQml2::Qt::vector3d()}{Qt.vector3d()} function:
 
     \qml
     Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }