diff options
author | Eike Ziller <eike.ziller@qt.io> | 2017-11-07 15:10:36 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2017-11-07 15:10:36 +0100 |
commit | a9e4e3608e79f3a03abff7ceea31d9ade36dda7f (patch) | |
tree | ed186d69bb1a48319123a1702dacb6ce941e738d /doc | |
parent | 8515fd13e3ceeab3ac1c9b639515655f604ff2cd (diff) | |
parent | 83ff62aa13512b0a8f9f46e4eb7d1a7d5745d0fb (diff) |
Merge remote-tracking branch 'origin/4.5'
Change-Id: I0194bdeda71e33fd5bc9cb3eb7a9198ae72815ed
Diffstat (limited to 'doc')
37 files changed, 520 insertions, 203 deletions
diff --git a/doc/examples/accelbubble/Bubble.qml b/doc/examples/accelbubble/Bubble.qml index bb21875951..67e1c5922d 100644 --- a/doc/examples/accelbubble/Bubble.qml +++ b/doc/examples/accelbubble/Bubble.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -48,9 +48,8 @@ ** ****************************************************************************/ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 +import QtQuick 2.9 +import QtQuick.Controls 2.2 Image { source: "Bluebubble.svg" diff --git a/doc/examples/accelbubble/Page1Form.ui.qml b/doc/examples/accelbubble/Page1Form.ui.qml index d336fa3b7a..0ab08fc483 100644 --- a/doc/examples/accelbubble/Page1Form.ui.qml +++ b/doc/examples/accelbubble/Page1Form.ui.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -47,14 +47,21 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +import QtQuick 2.9 +import QtQuick.Controls 2.2 -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 - -Item { - property alias mainWindow: mainWindow +Page { + width: 600 + height: 400 property alias bubble: bubble + property alias mainWindow: mainWindow + + header: Label { + text: qsTr("Page 1") + font.pixelSize: Qt.application.font.pixelSize * 2 + padding: 10 + } + Rectangle { id: mainWindow color: "#ffffff" diff --git a/doc/examples/accelbubble/Page1.qml b/doc/examples/accelbubble/Page2Form.ui.qml index 0619779873..11a8abff4a 100644 --- a/doc/examples/accelbubble/Page1.qml +++ b/doc/examples/accelbubble/Page2Form.ui.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -47,9 +47,21 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +import QtQuick 2.9 +import QtQuick.Controls 2.2 -import QtQuick 2.7 +Page { + width: 600 + height: 400 -Page1Form { + header: Label { + text: qsTr("Page 2") + font.pixelSize: Qt.application.font.pixelSize * 2 + padding: 10 + } + Label { + text: qsTr("You are on Page 2.") + anchors.centerIn: parent + } } diff --git a/doc/examples/accelbubble/accelbubble.pro b/doc/examples/accelbubble/accelbubble.pro index dca3207dce..2dfcd42652 100644 --- a/doc/examples/accelbubble/accelbubble.pro +++ b/doc/examples/accelbubble/accelbubble.pro @@ -1,17 +1,7 @@ -QT += qml quick sensors svg xml +QT += quick sensors svg xml CONFIG += c++11 -SOURCES += main.cpp - -RESOURCES += qml.qrc - -# Additional import path used to resolve QML modules in Qt Creator's code model -QML_IMPORT_PATH = - -# Additional import path used to resolve QML modules just for Qt Quick Designer -QML_DESIGNER_IMPORT_PATH = - # The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the @@ -23,7 +13,25 @@ DEFINES += QT_DEPRECATED_WARNINGS # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +SOURCES += main.cpp + +RESOURCES += qml.qrc + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Additional import path used to resolve QML modules just for Qt Quick Designer +QML_DESIGNER_IMPORT_PATH = + # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target + + ios { + QTPLUGIN += qsvg qsvgicon qtsensors_ios + QMAKE_INFO_PLIST = Info.plist + } + +DISTFILES += \ + Bluebubble.svg diff --git a/doc/examples/accelbubble/main.cpp b/doc/examples/accelbubble/main.cpp index 6ff25a462c..4e002b280e 100644 --- a/doc/examples/accelbubble/main.cpp +++ b/doc/examples/accelbubble/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -54,10 +54,13 @@ int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QGuiApplication app(argc, argv); QQmlApplicationEngine engine; - engine.load(QUrl(QLatin1String("qrc:/main.qml"))); + engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + if (engine.rootObjects().isEmpty()) + return -1; return app.exec(); } diff --git a/doc/examples/accelbubble/main.qml b/doc/examples/accelbubble/main.qml index ddd617af69..26fe2598f0 100644 --- a/doc/examples/accelbubble/main.qml +++ b/doc/examples/accelbubble/main.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator @@ -48,10 +48,9 @@ ** ****************************************************************************/ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.0 -import QtSensors 5.7 +import QtQuick 2.9 +import QtQuick.Controls 2.2 +import QtSensors 5.9 ApplicationWindow { visible: true @@ -59,64 +58,84 @@ ApplicationWindow { height: 480 title: qsTr("Accelerate Bubble") - Page1 { + SwipeView { + id: swipeView anchors.fill: parent - bubble { - id: bubble - centerX: mainWindow.width / 2 - centerY: mainWindow.height / 2 - bubbleCenter: bubble.width / 2 - x: bubble.centerX - bubble.bubbleCenter - y: bubble.centerY - bubble.bubbleCenter - - Behavior on y { - SmoothedAnimation { - easing.type: Easing.Linear - duration: 100 + currentIndex: tabBar.currentIndex + + Page1Form { + bubble { + id: bubble + centerX: mainWindow.width / 2 + centerY: mainWindow.height / 2 + bubbleCenter: bubble.width / 2 + x: bubble.centerX - bubble.bubbleCenter + y: bubble.centerY - bubble.bubbleCenter + + Behavior on y { + SmoothedAnimation { + easing.type: Easing.Linear + duration: 100 + } } - } - Behavior on x { - SmoothedAnimation { - easing.type: Easing.Linear - duration: 100 + Behavior on x { + SmoothedAnimation { + easing.type: Easing.Linear + duration: 100 + } } } } + + Page2Form { + } + } + + footer: TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + + TabButton { + text: qsTr("Page 1") + } + TabButton { + text: qsTr("Page 2") + } } Accelerometer { - id: accel - dataRate: 100 - active: true + id: accel + dataRate: 100 + active: true - onReadingChanged: { - var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) - var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) + onReadingChanged: { + var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) + var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * 0.1) - if (isNaN(newX) || isNaN(newY)) - return; + if (isNaN(newX) || isNaN(newY)) + return; - if (newX < 0) - newX = 0 + if (newX < 0) + newX = 0 - if (newX > mainWindow.width - bubble.width) - newX = mainWindow.width - bubble.width + if (newX > mainWindow.width - bubble.width) + newX = mainWindow.width - bubble.width - if (newY < 18) - newY = 18 + if (newY < 18) + newY = 18 - if (newY > mainWindow.height - bubble.height) - newY = mainWindow.height - bubble.height + if (newY > mainWindow.height - bubble.height) + newY = mainWindow.height - bubble.height - bubble.x = newX - bubble.y = newY - } + bubble.x = newX + bubble.y = newY } + } - function calcPitch(x, y, z) { - return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795); - } - function calcRoll(x, y, z) { - return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795); - } + function calcPitch(x, y, z) { + return -(Math.atan(y / Math.sqrt(x * x + z * z)) * 57.2957795); + } + function calcRoll(x, y, z) { + return -(Math.atan(x / Math.sqrt(y * y + z * z)) * 57.2957795); + } } diff --git a/doc/examples/accelbubble/qml.qrc b/doc/examples/accelbubble/qml.qrc index 1825fab490..7d7777aca0 100644 --- a/doc/examples/accelbubble/qml.qrc +++ b/doc/examples/accelbubble/qml.qrc @@ -1,10 +1,10 @@ <RCC> <qresource prefix="/"> - <file>main.qml</file> - <file>Page1.qml</file> <file>Page1Form.ui.qml</file> + <file>Page2Form.ui.qml</file> <file>qtquickcontrols2.conf</file> <file>Bubble.qml</file> <file>Bluebubble.svg</file> + <file>main.qml</file> </qresource> </RCC> diff --git a/doc/examples/accelbubble/qtquickcontrols2.conf b/doc/examples/accelbubble/qtquickcontrols2.conf index 1764b16fb4..75b2cb8fff 100644 --- a/doc/examples/accelbubble/qtquickcontrols2.conf +++ b/doc/examples/accelbubble/qtquickcontrols2.conf @@ -1,15 +1,6 @@ ; This file can be edited to change the style of the application -; See Styling Qt Quick Controls 2 in the documentation for details: -; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html +; Read "Qt Quick Controls 2 Configuration File" for details: +; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html [Controls] Style=Default - -[Universal] -Theme=Light -;Accent=Steel - -[Material] -Theme=Light -;Accent=BlueGrey -;Primary=BlueGray diff --git a/doc/examples/transitions/Page1.qml b/doc/examples/transitions/Page1.qml deleted file mode 100644 index 67336b4af7..0000000000 --- a/doc/examples/transitions/Page1.qml +++ /dev/null @@ -1,5 +0,0 @@ -import QtQuick 2.7 - -Page1Form { - -} diff --git a/doc/examples/transitions/Page1Form.ui.qml b/doc/examples/transitions/Page1Form.ui.qml index 2637f1d0af..785433154d 100644 --- a/doc/examples/transitions/Page1Form.ui.qml +++ b/doc/examples/transitions/Page1Form.ui.qml @@ -1,11 +1,66 @@ -import QtQuick 2.7 -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.3 +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick 2.9 +import QtQuick.Controls 2.2 -Item { +Page { id: page - width: 300 - height: 300 + width: 600 + height: 400 + + header: Label { + text: qsTr("Page 1") + font.pixelSize: Qt.application.font.pixelSize * 2 + padding: 10 + } + property alias icon: icon property alias topLeftRect: topLeftRect property alias bottomLeftRect: bottomLeftRect diff --git a/doc/examples/transitions/Page2Form.ui.qml b/doc/examples/transitions/Page2Form.ui.qml new file mode 100644 index 0000000000..11a8abff4a --- /dev/null +++ b/doc/examples/transitions/Page2Form.ui.qml @@ -0,0 +1,67 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +import QtQuick 2.9 +import QtQuick.Controls 2.2 + +Page { + width: 600 + height: 400 + + header: Label { + text: qsTr("Page 2") + font.pixelSize: Qt.application.font.pixelSize * 2 + padding: 10 + } + + Label { + text: qsTr("You are on Page 2.") + anchors.centerIn: parent + } +} diff --git a/doc/examples/transitions/main.cpp b/doc/examples/transitions/main.cpp index 34614e7477..4e002b280e 100644 --- a/doc/examples/transitions/main.cpp +++ b/doc/examples/transitions/main.cpp @@ -1,13 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QGuiApplication app(argc, argv); QQmlApplicationEngine engine; - engine.load(QUrl(QLatin1String("qrc:/main.qml"))); + engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + if (engine.rootObjects().isEmpty()) + return -1; return app.exec(); } diff --git a/doc/examples/transitions/main.qml b/doc/examples/transitions/main.qml index 3775d82158..464b48e545 100644 --- a/doc/examples/transitions/main.qml +++ b/doc/examples/transitions/main.qml @@ -1,26 +1,82 @@ -import QtQuick 2.7 +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ -import QtQuick.Controls 2.0 -import QtQuick.Layouts 1.3 +import QtQuick 2.9 +import QtQuick.Controls 2.2 ApplicationWindow { visible: true width: 640 height: 480 - title: qsTr("Transitions") + title: qsTr("Tabs") - Page1Form { + SwipeView { + id: swipeView anchors.fill: parent - id: page + currentIndex: tabBar.currentIndex - mouseArea { - onClicked: stateGroup.state = ' ' - } - mouseArea1 { - onClicked: stateGroup.state = 'State1' + Page1Form { + id: page + + mouseArea { + onClicked: stateGroup.state = ' ' + } + mouseArea1 { + onClicked: stateGroup.state = 'State1' + } + mouseArea2 { + onClicked: stateGroup.state = 'State2' + } } - mouseArea2 { - onClicked: stateGroup.state = 'State2' + + Page2Form { } } @@ -71,4 +127,16 @@ ApplicationWindow { } ] } + + footer: TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + + TabButton { + text: qsTr("Page 1") + } + TabButton { + text: qsTr("Page 2") + } + } } diff --git a/doc/examples/transitions/qml.qrc b/doc/examples/transitions/qml.qrc index bba8291fc0..299ee42d85 100644 --- a/doc/examples/transitions/qml.qrc +++ b/doc/examples/transitions/qml.qrc @@ -1,8 +1,9 @@ <RCC> <qresource prefix="/"> <file>main.qml</file> - <file>Page1.qml</file> <file>Page1Form.ui.qml</file> + <file>Page2Form.ui.qml</file> + <file>main.qml</file> <file>qtquickcontrols2.conf</file> <file>qt-logo.png</file> </qresource> diff --git a/doc/examples/transitions/qtquickcontrols2.conf b/doc/examples/transitions/qtquickcontrols2.conf index 1764b16fb4..75b2cb8fff 100644 --- a/doc/examples/transitions/qtquickcontrols2.conf +++ b/doc/examples/transitions/qtquickcontrols2.conf @@ -1,15 +1,6 @@ ; This file can be edited to change the style of the application -; See Styling Qt Quick Controls 2 in the documentation for details: -; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html +; Read "Qt Quick Controls 2 Configuration File" for details: +; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html [Controls] Style=Default - -[Universal] -Theme=Light -;Accent=Steel - -[Material] -Theme=Light -;Accent=BlueGrey -;Primary=BlueGray diff --git a/doc/examples/transitions/transitions.pro b/doc/examples/transitions/transitions.pro index d0d4cd2979..e2173bcccb 100644 --- a/doc/examples/transitions/transitions.pro +++ b/doc/examples/transitions/transitions.pro @@ -1,17 +1,6 @@ -QT += qml quick - +QT += quick CONFIG += c++11 -SOURCES += main.cpp - -RESOURCES += qml.qrc - -# Additional import path used to resolve QML modules in Qt Creator's code model -QML_IMPORT_PATH = - -# Additional import path used to resolve QML modules just for Qt Quick Designer -QML_DESIGNER_IMPORT_PATH = - # The following define makes your compiler emit warnings if you use # any feature of Qt which as been marked deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the @@ -23,6 +12,16 @@ DEFINES += QT_DEPRECATED_WARNINGS # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 +SOURCES += main.cpp + +RESOURCES += qml.qrc + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Additional import path used to resolve QML modules just for Qt Quick Designer +QML_DESIGNER_IMPORT_PATH = + # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin diff --git a/doc/images/creator_android_tutorial_ex_app.png b/doc/images/creator_android_tutorial_ex_app.png Binary files differindex ad4cfc0765..3be9f31fe2 100644 --- a/doc/images/creator_android_tutorial_ex_app.png +++ b/doc/images/creator_android_tutorial_ex_app.png diff --git a/doc/images/qmldesigner-element-size.png b/doc/images/qmldesigner-element-size.png Binary files differindex 47c555642f..ad2d3b666b 100644 --- a/doc/images/qmldesigner-element-size.png +++ b/doc/images/qmldesigner-element-size.png diff --git a/doc/images/qmldesigner-navigator-arrows.png b/doc/images/qmldesigner-navigator-arrows.png Binary files differindex 06d884b5c5..ecc59fcec1 100644 --- a/doc/images/qmldesigner-navigator-arrows.png +++ b/doc/images/qmldesigner-navigator-arrows.png diff --git a/doc/images/qmldesigner-navigator.png b/doc/images/qmldesigner-navigator.png Binary files differindex fc168249f8..4fe5e737c6 100644 --- a/doc/images/qmldesigner-navigator.png +++ b/doc/images/qmldesigner-navigator.png diff --git a/doc/images/qmldesigner-new-project.png b/doc/images/qmldesigner-new-project.png Binary files differindex 10480502f9..bd6679aa08 100644 --- a/doc/images/qmldesigner-new-project.png +++ b/doc/images/qmldesigner-new-project.png diff --git a/doc/images/qmldesigner-tutorial-design-mode.png b/doc/images/qmldesigner-tutorial-design-mode.png Binary files differindex d2a522f01c..e8b2bd2301 100644 --- a/doc/images/qmldesigner-tutorial-design-mode.png +++ b/doc/images/qmldesigner-tutorial-design-mode.png diff --git a/doc/images/qmldesigner-tutorial-topleftrect.png b/doc/images/qmldesigner-tutorial-topleftrect.png Binary files differindex 17bc686d8f..c3b181965b 100644 --- a/doc/images/qmldesigner-tutorial-topleftrect.png +++ b/doc/images/qmldesigner-tutorial-topleftrect.png diff --git a/doc/images/qmldesigner-tutorial-ui-ready.png b/doc/images/qmldesigner-tutorial-ui-ready.png Binary files differindex 0cc60262ed..1ed4037cd1 100644 --- a/doc/images/qmldesigner-tutorial-ui-ready.png +++ b/doc/images/qmldesigner-tutorial-ui-ready.png diff --git a/doc/images/qmldesigner-tutorial-user-icon.png b/doc/images/qmldesigner-tutorial-user-icon.png Binary files differindex e5a36ebceb..5422a42f34 100644 --- a/doc/images/qmldesigner-tutorial-user-icon.png +++ b/doc/images/qmldesigner-tutorial-user-icon.png diff --git a/doc/images/qmldesigner-tutorial.png b/doc/images/qmldesigner-tutorial.png Binary files differindex 64b1e4752e..39cd385885 100644 --- a/doc/images/qmldesigner-tutorial.png +++ b/doc/images/qmldesigner-tutorial.png diff --git a/doc/images/qtcreator-android-deploy-configurations.png b/doc/images/qtcreator-android-deploy-configurations.png Binary files differindex 8cd0a22003..b09cbce6de 100644 --- a/doc/images/qtcreator-android-deploy-configurations.png +++ b/doc/images/qtcreator-android-deploy-configurations.png diff --git a/doc/images/qtcreator-move-component-into-separate-file.png b/doc/images/qtcreator-move-component-into-separate-file.png Binary files differindex d5bf10192e..a0de19b24e 100644 --- a/doc/images/qtcreator-move-component-into-separate-file.png +++ b/doc/images/qtcreator-move-component-into-separate-file.png diff --git a/doc/images/qtcreator-new-qt-gui-application.png b/doc/images/qtcreator-new-qt-gui-application.png Binary files differindex 62895ef9d1..fff63015df 100644 --- a/doc/images/qtcreator-new-qt-gui-application.png +++ b/doc/images/qtcreator-new-qt-gui-application.png diff --git a/doc/images/qtcreator-new-qt-quick-project-wizard.png b/doc/images/qtcreator-new-qt-quick-project-wizard.png Binary files differindex 5b518dc225..1f8dcabd2d 100644 --- a/doc/images/qtcreator-new-qt-quick-project-wizard.png +++ b/doc/images/qtcreator-new-qt-quick-project-wizard.png diff --git a/doc/src/android/deploying-android.qdoc b/doc/src/android/deploying-android.qdoc index 10f8105d9d..4dd0f0b3b1 100644 --- a/doc/src/android/deploying-android.qdoc +++ b/doc/src/android/deploying-android.qdoc @@ -44,12 +44,6 @@ The Ministro tool downloads the necessary Qt libraries from a repository of your choice. - \li As an incomplete APK that is suitable for testing and debugging - applications on a device connected to the development host. The APK - relies on the device containing the Qt libraries in the correct - location. \QC copies the libraries to that location the first time - you deploy the application. - \endlist To specify settings for application packages, select \uicontrol Projects > diff --git a/doc/src/projects/creator-projects-creating.qdoc b/doc/src/projects/creator-projects-creating.qdoc index 2facd5ad14..26209b6c04 100644 --- a/doc/src/projects/creator-projects-creating.qdoc +++ b/doc/src/projects/creator-projects-creating.qdoc @@ -107,18 +107,20 @@ Use \QD forms to design a Qt widget based user interface for the desktop and C++ to implement the application logic - \li Qt Quick Application + \li Qt Quick Application - Empty + + Create an empty Qt Quick application that uses Qt Quick 2 types. - Create a Qt Quick application that contains both QML and C++ - code. The project includes a QQuickView. You can build the application and deploy it to desktop, embedded, and mobile target platforms. - \li Qt Quick Controls 2 Application + \li Qt Quick Application - Scroll, Stack, or Swipe - Create a Qt Quick application using + Create a Qt Quick application that uses \l{http://doc.qt.io/qt-5/qtquickcontrols2-index.html} - {Qt Quick Controls 2} (requires Qt 5.7 or later) + {Qt Quick Controls 2} to implement a scrollable list (requires + Qt 5.9 or later) or a set of pages with a stack-based or + swipe-based navigation model (requires Qt 5.7 or later). \li Qt Canvas 3D Application diff --git a/doc/src/qtquick/creator-mobile-app-tutorial.qdoc b/doc/src/qtquick/creator-mobile-app-tutorial.qdoc index 5ab76d6302..f0fddbacfd 100644 --- a/doc/src/qtquick/creator-mobile-app-tutorial.qdoc +++ b/doc/src/qtquick/creator-mobile-app-tutorial.qdoc @@ -82,14 +82,14 @@ \list 1 - \li In the \uicontrol Projects view, double-click the Page1Form.ui.qml + \li In the \uicontrol Projects view, double-click the \e Page1Form.ui.qml file to open it in \QMLD. - \li In the \uicontrol Navigator, select \uicontrol RowLayout and press + \li In the \uicontrol Navigator, select \uicontrol Label and press \key Delete to delete it. \li In \uicontrol Library > \uicontrol {QML Types}, select - \uicontrol Rectangle and drag and drop it to the \uicontrol Item in + \uicontrol Rectangle and drag and drop it to the \uicontrol Page in the navigator. \li Select the rectangle in the navigator to edit its properties: @@ -137,39 +137,32 @@ \endlist - \QC creates a reference to the Bubble type in Page1Form.ui.qml. + \QC creates a reference to the Bubble type in \e Page1Form.ui.qml. - To check your code, you can compare Page1Form.ui.qml with the + To check your code, you can compare \e Page1Form.ui.qml with the \l{accelbubble/Page1Form.ui.qml}{Page1Form.ui.qml} example file and - Bubble.qml with the \l{accelbubble/Bubble.qml}{Bubble.qml} example file. + \e Bubble.qml with the \l{accelbubble/Bubble.qml}{Bubble.qml} example file. - The UI is now ready and you can switch to editing the Page1.qml and - Bubble.qml files in the \uicontrol {Text Editor}, as described in the + The UI is now ready and you can switch to editing the \e Bubble.qml and + \e main.qml files in the \uicontrol {Text Editor}, as described in the following section. \section1 Moving the Bubble - The new project wizard adds boilerplate code to the main.qml file to create - menu items and push buttons. Modify the boilerplate code by removing - obsolete code and by adding new code. You removed the push buttons from the - UI Form, so you also need to remove the corresponding code from Page1.qml - (or the application cannot be built). - - In the \uicontrol {Text Editor}, edit Bubble.qml to add properties that we - use to will position the image: + In the \uicontrol {Text Editor}, edit \e Bubble.qml to add properties that we + will use to position the image: \quotefromfile accelbubble/Bubble.qml \skipto Image \printuntil } - In the \uicontrol {Text Editor}, edit main.qml to specify the application + In the \uicontrol {Text Editor}, edit \e main.qml to specify the application title, as illustrated by the following code snippet: \quotefromfile accelbubble/main.qml \skipto ApplicationWindow \printuntil title - Remove the rest of the boilerplate code in main.qml, except the Page1 type. Specify bubble properties to position the image: \printuntil bubbleCenter @@ -183,10 +176,10 @@ Then add code to move the bubble based on Accelerometer sensor values: \list 1 - \li Add the following import statement to main.qml: + \li Add the following import statement to \e main.qml: \code - import QtSensors 5.7 + import QtSensors 5.9 \endcode \li Add the \l{Accelerometer} type with the necessary properties: diff --git a/doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc b/doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc index 44923b221b..eab08b2971 100644 --- a/doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc +++ b/doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc @@ -26,13 +26,13 @@ /*! //! [qt quick application] - \section1 Creating Qt Quick Controls 2 Applications + \section1 Creating the Project \list 1 \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol Application > \uicontrol {Qt Quick Controls 2 Application} - > \uicontrol Choose. + \uicontrol Application > \uicontrol {Qt Quick Application - Swipe} > + \uicontrol Choose. \li In the \uicontrol Name field, enter a name for the application. @@ -66,10 +66,11 @@ \endlist - \QC generates a UI file, \e Page1Form.ui.qml, that you can modify in the - \QMLD \uicontrol {Form Editor} and two QML files, \e Page1.qml and - \e main.qml, that you can modify in the \uicontrol {Text Editor} to add the - application logic. + \QC generates two UI files, \e Page1Form.ui.qml and \e Page2Form.ui.qml, + and a QML file, \e main.qml. You can modify \e Page1Form.ui.qml in the + \uicontrol {Form Editor} to create the application main view and \e main.qml + in the \uicontrol {Text Editor} to add the application logic. For the + purposes of this example, you can ignore \e Page2Form.ui.qml. //! [qt quick application] */ diff --git a/doc/src/qtquick/qtquick-app-tutorial.qdoc b/doc/src/qtquick/qtquick-app-tutorial.qdoc index dbbee8e71b..147df44a43 100644 --- a/doc/src/qtquick/qtquick-app-tutorial.qdoc +++ b/doc/src/qtquick/qtquick-app-tutorial.qdoc @@ -73,10 +73,10 @@ \image qmldesigner-tutorial-design-mode.png "Transitions project in Design Mode" - \li In the \uicontrol Navigator, select \uicontrol RowLayout and press + \li In the \uicontrol Navigator, select \uicontrol Label and press \key Delete to delete it. - \li Select \uicontrol Item in the navigator, and enter \e page in the + \li Select \uicontrol Page in the navigator, and enter \e page in the \uicontrol Id field. \li In \uicontrol Library > \uicontrol Resources, select qt-logo.png and @@ -242,6 +242,7 @@ expressions for the x and y properties, as illustrated by the following code snippet: + \skipto StateGroup \printuntil ] \li Press \key {Ctrl+R} to run the application. diff --git a/doc/src/qtquick/qtquick-creating.qdoc b/doc/src/qtquick/qtquick-creating.qdoc index c663018498..5b9d5d4834 100644 --- a/doc/src/qtquick/qtquick-creating.qdoc +++ b/doc/src/qtquick/qtquick-creating.qdoc @@ -45,15 +45,25 @@ \list - \li \uicontrol {Qt Quick Application} creates a Qt Quick 2 application - project that can contain both QML and C++ code. The project includes - a QQuickView. You can build the application and deploy it to desktop, - embedded, and mobile target platforms. - - \li \uicontrol {Qt Quick Controls 2 Application} is like - \uicontrol {Qt Quick Application}, but using - \l{http://doc.qt.io/qt-5/qtquickcontrols2-index.html} - {Qt Quick Controls 2} (requires Qt 5.7 or later). + \li \uicontrol {Qt Quick Application - Empty} creates a Qt Quick 2 + application project that can contain both QML and C++ code. You can + build the application and deploy it to desktop, embedded, and mobile + target platforms. + + \li \uicontrol {Qt Quick Application - Scroll} uses the + \l{http://doc.qt.io/qt-5/qml-qtquick-controls2-scrollview.html} + {ScrollView} type to implement a scrollable list view + (requires Qt 5.9 or later). + + \li \uicontrol {Qt Quick Application - Stack} uses the + \l{http://doc.qt.io/qt-5/qml-qtquick-controls2-stackview.html} + {StackView} type to implement a set of pages with a stack-based + navigation model (requires Qt 5.7 or later). + + \li \uicontrol {Qt Quick Application - Swipe} uses the + \l{http://doc.qt.io/qt-5/qml-qtquick-controls2-swipeview.html} + {SwipeWiew} type to implement a set of pages with a swipe-based + navigation model (requires Qt 5.7 or later). \li \uicontrol {Qt Canvas 3D Application} creates a Qt Quick application that imports the Qt Canvas 3D module and, optionally, includes @@ -85,12 +95,12 @@ \QC creates the necessary boilerplate files. Some of the files are specific to a particular target platform. - \section1 Creating Qt Quick Applications + \section1 Creating Empty Qt Quick Applications \list 1 \li Select \uicontrol File > \uicontrol {New File or Project} > - \uicontrol Application > \uicontrol {Qt Quick Application} > + \uicontrol Application > \uicontrol {Qt Quick Application - Empty} > \uicontrol Choose. \li In the \uicontrol Name field, enter a name for the application. @@ -110,11 +120,9 @@ The Qt version determines the Qt Quick imports that are used in the QML files. - \li Select the - \uicontrol {With .ui.qml file} check box to create an UI - form that can contain a subset of the QML language. Similarly as - with the UI forms for \QD, it is recommended that you use \QMLD to - edit the UI forms. For more information, see \l{Qt Quick UI Forms}. + \li Select the \uicontrol {Use Qt Virtual Keyboard} check box to add + support for \l{http://doc.qt.io/qt-5/qtvirtualkeyboard-index.html} + {Qt Virtual Keyboard} to the application. \li Select \uicontrol Next. @@ -130,13 +138,60 @@ \endlist - \QC generates a UI file, \e Page1Form.ui.qml, that you can modify in the - \QMLD \uicontrol {Form Editor} and two QML files, \e Page1.qml and - \e main.qml, that you can modify in the \uicontrol {Text Editor} to add the - application logic. The \e .ui.qml file is created if you selected the - \uicontrol {With .ui.qml file} check box. + \QC generates a QML file, \e main.qml, that you can modify in \QMLD. + + \section1 Creating Qt Quick Controls 2 Applications + + \list 1 + + \li Select \uicontrol File > \uicontrol {New File or Project} > + \uicontrol Application > \uicontrol {Qt Quick Application - Scroll}, + \uicontrol {Qt Quick Application - Stack}, or + \uicontrol {Qt Quick Application - Swipe} > \uicontrol Choose. + + \li In the \uicontrol Name field, enter a name for the application. + + \li In the \uicontrol {Create in} field, enter the path for the project + files, and then select \uicontrol Next (or \uicontrol Continue on + \macos). + + \li In the \uicontrol {Build system} field, select the build system to + use for building and running the project: \l qmake, + \l {Setting Up CMake}{CMake}, or \l {Setting Up Qbs}{Qbs}. + + \li In the \uicontrol {Qt Quick Controls 2 Style} field, select one of + the predefined \l{Styling Qt Quick Controls 2}{UI styles} to use, + and then select \uicontrol Next. + + \li Select the \uicontrol {Use Qt Virtual Keyboard} check box to add + support for \l{http://doc.qt.io/qt-5/qtvirtualkeyboard-index.html} + {Qt Virtual Keyboard} to the application. + + \li Select \l{glossary-buildandrun-kit}{kits} for the platforms that + you want to build the application for. To build applications for + mobile devices, select kits for Android ARM and iPhone OS, and + click \uicontrol{Next}. + + \note Kits are listed if they have been specified in \uicontrol + Tools > \uicontrol Options > \uicontrol {Build & Run} > + \uicontrol Kits (on Windows and Linux) or in \uicontrol {Qt Creator} + > \uicontrol Preferences \uicontrol {Build & Run} > \uicontrol Kits + (on \macos). + + \li Select \uicontrol Next. + + \li Review the project settings, and click \uicontrol{Finish} (or + \uicontrol Done on \macos). + + \endlist + + For the Scroll application, \QC creates a QML file, \e main.qml, that you + can modify in \QMLD. - \include creator-tutorial-create-qq-project.qdocinc qt quick application + For the Stack and Swipe applications, \QC generates two UI files, + \e Page1Form.ui.qml and \e Page2Form.ui.qml, that you can modify in the + \QMLD \uicontrol {Form Editor} and a QML file, \e main.qml, that you can + modify in the \uicontrol {Text Editor} to add the application logic. \section1 Creating Qt Quick UI Projects diff --git a/doc/src/qtquick/qtquick-designer.qdoc b/doc/src/qtquick/qtquick-designer.qdoc index 7063351e25..8c835d12c0 100644 --- a/doc/src/qtquick/qtquick-designer.qdoc +++ b/doc/src/qtquick/qtquick-designer.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -120,8 +120,8 @@ When you copy an item, all its child items are also copied. When you remove an item, the child items are also removed. - You can show and hide items to focus on specific parts of the application. - Click the \inlineimage icon_color_none.png + You can show and hide items on the canvas to focus on specific parts of the + application. Click the \inlineimage icon_color_none.png (\uicontrol Transparent) button to change the visibility of an item on the canvas. To change the visibility of an item in the application, select the \uicontrol Visibility @@ -134,6 +134,9 @@ As all properties, visibility and opacity are inherited from the parent item. To hide or show child items, edit the properties of the parent item. + To hide invisible items in the navigator, click \inlineimage filtericon.png + (\uicontrol {Filter Tree}) and select \uicontrol {Show only visible items}. + To reset item size, position, or anchors, select context menu commands. To change the source of an Image type, select \uicontrol {Change Source URL} in the context menu. |