aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/qtquick
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@qt.io>2017-02-13 14:58:27 +0100
committerLeena Miettinen <riitta-leena.miettinen@qt.io>2017-02-14 07:50:51 +0000
commit37891d92bc1c13d035b6eaefac5e45d0ea638b0f (patch)
tree0870a5ba6fbc77c0fbed9bf8d8bd9786ca6e636d /doc/src/qtquick
parent4253588b9631301204640f9edc70aed357f0fd69 (diff)
Doc: Remove Qt Quick UI Forms example and tutorial
It uses types that do not exist in Qt Quick Controls 2, and Qt Creator version 4.3 no longer has a wizard for using the older controls. Change-Id: I42884ca75eefe957493fcb47d6b243a93341b79c Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'doc/src/qtquick')
-rw-r--r--doc/src/qtquick/creator-mobile-app-tutorial.qdoc2
-rw-r--r--doc/src/qtquick/qtquick-uiforms-tutorial.qdoc488
2 files changed, 1 insertions, 489 deletions
diff --git a/doc/src/qtquick/creator-mobile-app-tutorial.qdoc b/doc/src/qtquick/creator-mobile-app-tutorial.qdoc
index dce24d6a8c..ed7dbfc3c7 100644
--- a/doc/src/qtquick/creator-mobile-app-tutorial.qdoc
+++ b/doc/src/qtquick/creator-mobile-app-tutorial.qdoc
@@ -33,7 +33,7 @@
\contentspage {Qt Creator Manual}
\previouspage creator-writing-program.html
\example accelbubble
- \nextpage {Using Qt Quick UI Forms}
+ \nextpage creator-project-managing.html
\title Creating a Mobile Application
diff --git a/doc/src/qtquick/qtquick-uiforms-tutorial.qdoc b/doc/src/qtquick/qtquick-uiforms-tutorial.qdoc
deleted file mode 100644
index 6577787e87..0000000000
--- a/doc/src/qtquick/qtquick-uiforms-tutorial.qdoc
+++ /dev/null
@@ -1,488 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Creator documentation.
-**
-** 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.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-**
-****************************************************************************/
-
-/*!
- \contentspage {Qt Creator Manual}
- \previouspage {Creating a Mobile Application}
- \example uiforms
- \nextpage creator-project-managing.html
-
- \title Using Qt Quick UI Forms
-
- This tutorial describes how to develop an application that uses \e ui.qml
- files to separate the application logic from the UI. The tutorial uses \QMLD
- to implement a simplified version of the \l{Qt Quick Controls - UI Forms}
- {UI Forms example}, which provides an interface to a customer database and
- is purely written in QML and JavaScript.
- For more information about the UI choices you have, see \l{User Interfaces}.
-
- \image qmldesigner-uiforms-example.png
-
- \e {UI forms} consist of \e .qml and \e .js files that implement the
- business logic, and corresponding \e .ui.qml files that only contain the
- purely declarative description of the UI. The \e .ui.qml files should be
- edited only in the \uicontrol Design mode of \QC. However, \QMLD does not
- fully support all QML controls, such as the TableView, so you sometimes need
- to edit UI forms also in the \uicontrol Edit mode. You can keep this to the
- minimum by creating custom QML types that you edit in the \uicontrol Edit
- mode.
-
- \include creator-tutorial-create-qq-project.qdocinc
-
- \section1 Creating the UI Forms Main View
-
- The main view of the application displays a customer list in a table view
- and detailed information about the selected customer in a tab view.
-
- \image qmldesigner-uiforms-example-main-view.png
-
- To create the main view:
-
- \list 1
-
- \li In the \uicontrol Projects view (1), double-click the
- \e MainForm.ui.qml file to open it in \QMLD.
-
- \li In the \uicontrol Navigator (2), select the \uicontrol RowLayout and
- press \key Delete to delete it.
-
- \li In \uicontrol Library > \uicontrol {QML Types} (3), select
- \uicontrol SplitView and drag and drop it to the \uicontrol Item in
- the navigator.
-
- \li Select the split view in the navigator, then select the
- \uicontrol Layout tab in \uicontrol Properties (4), and then click
- the \inlineimage anchor_fill.png
- (\uicontrol {Fill to Parent}) button to anchor the split view to the
- item.
-
- \li Drag and drop a \uicontrol TableView and a \uicontrol {Tab View}
- from the library to the split view in the navigator.
-
- \li Select the \inlineimage export_unchecked.png
- (\uicontrol Export) button in the navigator to export the table view
- as a property.
-
- \li Right-click \uicontrol TabView to open the context menu and select
- \uicontrol {Add Tab} to create a Tab element.
-
- \QC creates the element as a separate QML file with the name that
- you enter in the dialog. By default, the element is called
- \uicontrol Tab.
-
- \li Select the tab in the navigator and enter \b {Customer Settings} in
- the \uicontrol Title field in the properties.
-
- \li Press \key Ctrl+C to copy the tab to the clipboard, and then press
- \key Ctrl+V twice to create two more tabs that you name
- \b {Customer Notes} and \b {Customer History}. \QC uses the \l Tab
- type in the \e MainForm.ui.qml file. You will create separate UI
- forms for the tab contents later.
-
- \endlist
-
- \section2 Editing the Table View
-
- \QMLD does not support adding columns to TableView types, and therefore, you
- must use the code editor to add them. To keep editing the \e MainForm.ui.qml
- file in the \uicontrol Edit mode to the minimum, move the TableView type to
- a separate QML file called \e CustomerTableView.qml:
-
- \list 1
-
- \li Click \uicontrol Edit to open \e MainForm.ui.qml in \uicontrol Edit
- mode.
-
- \li To move the TableView type to a separate QML file, right-click it
- and select \uicontrol Refactoring >
- \uicontrol {Move Component into Separate File}.
-
- \li Add the code from the \l {uiforms/CustomerTableView.qml}
- {CustomerTableView.qml} example file to the file that \QC creates
- for you.
-
- \endlist
-
- \section1 Implementing the Application Logic for the Main View
-
- The new project wizard adds boilerplate code to the \e 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
- \e main.qml (or the application cannot be built).
-
- You will want to keep the dialog box and menu bar, but change their
- contents, as instructed later.
-
- Edit the \e main.qml file in the code editor, as described in the following
- sections.
-
- \section2 Specifying Main View Size
-
- The wizard creates an ApplicationWindow type and a MainForm type that
- specify the application main view. Enter the application name as the
- value of the \c title property.
-
- Clean up the MainForm code by removing the obsolete lines that call
- functions when buttons are clicked:
-
- \badcode
- MainForm {
- anchors.fill: parent
- button1.onClicked: messageDialog.show(qsTr("Button 1 pressed"))
- button2.onClicked: messageDialog.show(qsTr("Button 2 pressed"))
- }
- \endcode
-
- Remove the \c width and \c height properties from the ApplicationWindow
- type and use a \l Layout type in the MainForm type to set the minimum and
- preferred size of the main view.
-
- To use the Layout type, import Qt Quick Layouts:
-
- \quotefromfile uiforms/main.qml
- \skipto QtQuick.Layouts
- \printline Layouts
-
- Then specify the following properties for the MainForm:
-
- \skipto MainForm
- \printuntil Layout.preferredHeight
-
- \section2 Creating the Table View Model
-
- Use a list model to display customer data in the table view. Because the
- list model is accessed from several different \e .qml files, access it
- through a singleton type defined in \e CustomerModelSingleton.qml and
- registered in \e main.cpp. This way, you do not have to rely on the QML
- context scoping rules to access the list model.
-
- \list 1
-
- \li In the \uicontrol Projects view, right-click \uicontrol qml.qrc and
- select \uicontrol {Add New} > \uicontrol Qt >
- \uicontrol {QML File (Qt Quick 2)} to create the
- \e CustomerModelSingleton.qml file and to add it to the project.
-
- \li Copy the implementation from \l{uiforms/CustomerModelSingleton.qml}
- {CustomerModelSingleton.qml}.
-
- \li Add the following code to the MainForm in \e main.qml to access the
- list model:
-
- \quotefromfile uiforms/main.qml
- \skipto tableView1.model: CustomerModel
- \printuntil tableView1.selection
-
- \li To register the singleton type in the \e main.cpp file, include the
- Qt QML module and call the \c qmlRegisterSingletonType() function in
- the initialization function:
-
- \quotefromfile uiforms/main.cpp
- \dots
- \skipto QtQml
- \printuntil "CustomerModel");
-
- \li To use the registered singleton type in \e main.qml, you must import
- the singleton type:
-
- \quotefromfile uiforms/main.qml
- \skipto my.customermodel.singleton
- \printline 1.0
-
- \endlist
-
- \section1 Creating Tabs
-
- You can use the new file wizard to create UI forms that specify tab
- contents and functionality. You set the QML files as sources for the tabs
- in the \e MainForm.ui.qml file and modify the corresponding UI forms in the
- \uicontrol Design mode.
-
- \section2 Creating UI Forms for Tab Contents
-
- To create UI forms for the tab contents:
-
- \list 1
-
- \li Select \uicontrol File > \uicontrol {New File or Project} >
- \uicontrol Qt > \uicontrol {QtQuick UI File} > \uicontrol Choose.
-
- \li In the \uicontrol {Component name} field, enter \b Settings.
-
- \li Click \uicontrol Next.
-
- \li Click \uicontrol Finish to create the UI form,
- \e SettingsForm.ui.qml, and a corresponding QML file,
- \e Settings.qml.
-
- \endlist
-
- Create the UI form, \e NotesForm.ui.qml, and the corresponding QML file,
- \e Notes.qml, for the notes tab in the same way. You will not need an
- \e ui.qml file for the history tab, so you will create the QML file for it
- later.
-
- \section2 Creating the Settings Tab
-
- The \uicontrol {Customer Settings} tab contains information about the
- selected user.
-
- \image qmldesigner-uiforms-example-settings-tab.png
-
- To create the tab contents:
-
- \list 1
-
- \li Double-click \e SettingsForm.ui.qml in the \uicontrol Projects
- view to open it for editing in the \uicontrol Design mode.
-
- \li Select \uicontrol Item in the \uicontrol Navigator and enter
- \b content in the \uicontrol Id field in \uicontrol Properties.
-
- \li In \uicontrol Library, select \uicontrol Imports >
- \uicontrol {Add Import} and import Qt Quick Controls and Layouts to
- make the QML types in those modules visible in the library.
-
- \li Drag and drop a \uicontrol {Grid Layout} from the library to the
- \b content item in the navigator.
-
- \li Select \uicontrol Layout > \uicontrol Top, \uicontrol Left, and
- \uicontrol Right buttons to anchor the grid layout to the parent.
-
- \li In the \uicontrol Margin fields for the anchors, set the margins
- to \b 12.
-
- \li In \uicontrol Properties, set \uicontrol {Column spacing} and
- \uicontrol {Row spacing} to \b 8, \uicontrol Columns to \b 3, and
- \uicontrol Rows to \b 4. If you add more fields, add the necessary
- amount of rows.
-
- \li Drag and drop four \uicontrol Label controls, a
- \uicontrol {Combo Box}, and three \uicontrol {Text Field} controls
- from the library to the navigator.
-
- \li Use the down arrow in the navigator to move one label down to the
- position above the last text field.
-
- \li In the properties, change the label text for each field in the
- \uicontrol Text field. You need the following labels: \b Title,
- \b {First Name}, \b {Last Name}, and \b {Customer Id}.
-
- \li In the properties, change the placeholder text for each text field
- in the \uicontrol {Placeholder text} field to be the same as the
- field label.
-
- \li Select the customer ID text field, then select \uicontrol Layout
- in properties and set \uicontrol {Column span} to 3 and check
- \uicontrol {Fill width} to make the ID field span the length of
- the grid layout.
-
- \li Drag and drop a \uicontrol {Row Layout} from the library to the
- \b content item in the navigator and click on it.
-
- \li Reset the height of the row layout in properties.
-
- \image qmldesigner-uiforms-reset-height.png
-
- \li Select \uicontrol Layout > \uicontrol Bottom and \uicontrol Right
- buttons to anchor the row layout to the parent.
-
- \li In the \uicontrol Margin fields for the anchors, set the margins
- to \b 12.
-
- \li Drag and drop two \uicontrol Button controls from the library to the
- row layout in the navigator.
-
- \li In the properties, change the button labels in the \uicontrol Text
- field to \b Save and \b Cancel.
-
- \li Select \uicontrol Layout and > \uicontrol {Fill width} and
- \uicontrol {Fill height} in properties for each button to have the
- buttons fill the row layout.
-
- \li In the navigator, select \uicontrol Export for each field to export
- the field IDs as properties. The following items should be exported,
- so that they can be referred to in \e Settings.qml:
-
- \quotefromfile uiforms/SettingsForm.ui.qml
- \skipto property
- \printuntil title
-
- \endlist
-
- \section2 Creating the Notes Tab
-
- The \uicontrol {Customer Notes} tab contains a text area for entering notes
- about the selected customer and buttons for saving or canceling the changes.
-
- To create the tab contents:
-
- \list 1
-
- \li Double-click \e NotesForm.ui.qml in the \uicontrol Projects
- view to open it for editing in the \uicontrol Design mode.
-
- \li Select \uicontrol Item in the \uicontrol Navigator and enter
- \b content in the \uicontrol Id field in \uicontrol Properties.
-
- \li In \uicontrol Library, select \uicontrol Imports >
- \uicontrol {Add Import} and import Qt Quick Controls and Layouts.
-
- \li Drag and drop a \uicontrol {Column Layout} from the library to the
- \b content item in the navigator.
-
- \li Select \uicontrol Layout > \uicontrol Top, \uicontrol Left, and
- \uicontrol Right buttons to anchor the grid layout to the parent
- and set the margins to \b 12.
-
- \li Drag and drop a \uicontrol {Text Area} from the library to the
- column layout.
-
- \li Select \uicontrol Layout and > \uicontrol {Fill width} and
- \uicontrol {Fill height} in properties to have the text area fill
- the column layout.
-
- \li Create the \uicontrol Save and \uicontrol Cancel buttons as
- instructed in \l {Creating the Settings Tab}. You can also copy and
- paste the row layout from SettingsForm.ui.qml.
-
- \li In the navigator, select \uicontrol Export for each field to export
- the field IDs as properties. The following items should be exported,
- so that they can be referred to in \e Notes.qml:
-
- \quotefromfile uiforms/NotesForm.ui.qml
- \skipto property
- \printuntil save
-
- \endlist
-
- \section2 Creating the History Tab
-
- The \uicontrol {Customer History} tab contains a table view that displays
- the transactions performed by the customer. Create a custom HistoryTableView
- type that you can edit in the \uicontrol Edit mode. For the history tab, you
- do not need an \e ui.qml file at all.
-
- To create the history tab:
-
- \list 1
-
- \li In the \uicontrol Projects view, right-click \uicontrol qml.qrc and
- select \uicontrol {Add New} > \uicontrol Qt >
- \uicontrol {QML File (Qt Quick 2)} to create the
- \e HistoryTableView.qml file and to add it to the project.
-
- \li Copy the implementation from \l{uiforms/HistoryTableView.qml}
- {HistoryTableView.qml}.
-
- \li Add the code from the example \l{uiforms/History.qml}{History.qml}
- file to your \e History.qml file to access the code model.
-
- \endlist
-
- \section1 Adding Tab Functionality
-
- Add functions for displaying data from the customer model in the tabs. You
- have already created the files that you need. You now need to copy the
- implementation for the settings tab from the \l {uiforms/Settings.qml}
- {Settings.qml} file and for the notes tab from the \l {uiforms/Notes.qml}
- {Notes.qml} file.
-
- To display the tab contents in the main view, set the QML files as sources
- for the tabs in the \uicontrol Design mode. Select the settings tab in the
- \uicontrol Navigator and specify for example \e Settings.qml in the
- \uicontrol Source field in the \uicontrol Properties view. Similarly,
- specify the sources for the notes and history tabs.
-
- You can then remove the \e Tab.qml file that the wizard generated but that
- you no longer need by selecting \uicontrol {Remove File} in the context
- menu.
-
- \section1 Creating Menus
-
- The wizard adds a menu bar to the \e main.qml file that contains a
- \uicontrol File menu with the \uicontrol Open and \uicontrol Exit menu
- items. Keep the menu and the \uicontrol Exit menu item, and add the
- \uicontrol Edit and \uicontrol Help menus with standard menu items.
-
- The wizard creates the following code:
-
- \badcode
- menuBar: MenuBar {
- Menu {
- title: qsTr("&File")
- MenuItem {
- text: qsTr("&Open")
- onTriggered: messageDialog.show(qsTr("Open action triggered"));
- }
- MenuItem {
- text: qsTr("E&xit")
- onTriggered: Qt.quit();
- }
- }
- }
- \endcode
-
- Remove the \uicontrol Open menu item and add the following code to create
- the new menus:
-
- \quotefromfile uiforms/main.qml
- \skipto menuBar
- \printuntil activeFocusItem.paste
- \printuntil }
-
- \section1 Creating Dialogs
-
- \image qmldesigner-uiforms-example-about-dialog.png
-
- The wizard creates a message box in the \e main.qml file that you should
- turn into an \uicontrol About dialog for the purpose of this example:
-
- \badcode
- MessageDialog {
- id: messageDialog
- title: qsTr("May I have your attention, please?")
-
- function show(caption) {
- messageDialog.text = caption;
- messageDialog.open();
- }
- \endcode
-
- Modify the code created by the wizard to add an icon and some text:
-
- \quotefromfile uiforms/main.qml
- \skipto MessageDialog
- \printuntil }
-
- Enable access to the \uicontrol About dialog from the \uicontrol Help menu
- that you create next.
-
- \section1 Running the Application
-
- The application is complete and ready to be run on the desktop or deployed
- to a device. To run the application, press \key {Ctrl+R}.
-*/