Doc: Update first part of entry-level tutorial
Task-number: QDS-5001 Change-Id: I2520d843a292f80473411ee94df8253bb097b22f Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
@@ -93,7 +93,7 @@
|
|||||||
For examples of using the \uicontrol {Connections} view, see:
|
For examples of using the \uicontrol {Connections} view, see:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l{Connecting Buttons to States} in \l{Log In UI - Part 3}
|
\li \l{Connecting Buttons to States} in \l{Log In UI - States}
|
||||||
\li \l{Connecting Buttons to State Changes} in \l{Washing Machine UI}
|
\li \l{Connecting Buttons to State Changes} in \l{Washing Machine UI}
|
||||||
\endlist
|
\endlist
|
||||||
\endif
|
\endif
|
||||||
|
@@ -61,7 +61,7 @@
|
|||||||
state change.
|
state change.
|
||||||
|
|
||||||
\if defined(qtdesignstudio)
|
\if defined(qtdesignstudio)
|
||||||
The \l{Log In UI - Part 3} example illustrates using states to create
|
The \l{Log In UI - States} example illustrates using states to create
|
||||||
two UI screens and signals emitted by buttons to apply the states.
|
two UI screens and signals emitted by buttons to apply the states.
|
||||||
The button components also switch states when they are pressed down.
|
The button components also switch states when they are pressed down.
|
||||||
|
|
||||||
|
@@ -58,7 +58,7 @@
|
|||||||
by using a \l{Creating Custom Controls}{wizard template}. For more
|
by using a \l{Creating Custom Controls}{wizard template}. For more
|
||||||
information about editing the states within the button component and
|
information about editing the states within the button component and
|
||||||
hiding and showing buttons to create several screens, see
|
hiding and showing buttons to create several screens, see
|
||||||
\l{Log In UI - Part 1} and \l{Log In UI - Part 3}.
|
\l{Log In UI - Components} and \l{Log In UI - States}.
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
To add motion to a screen, you can change the position of a component
|
To add motion to a screen, you can change the position of a component
|
||||||
|
@@ -69,7 +69,7 @@
|
|||||||
\youtube V3Po15bNErw
|
\youtube V3Po15bNErw
|
||||||
|
|
||||||
\if defined(qtdesignstudio)
|
\if defined(qtdesignstudio)
|
||||||
To try it yourself, follow the \l{Log In UI - Part 4} tutorial.
|
To try it yourself, follow the \l{Log In UI - Timeline} tutorial.
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
|
|
||||||
|
@@ -69,7 +69,8 @@ excludedirs += ../../qtcreator/examples/accelbubble \
|
|||||||
|
|
||||||
exampledirs = ../examples/ \
|
exampledirs = ../examples/ \
|
||||||
../../qtcreator/examples
|
../../qtcreator/examples
|
||||||
examples.fileextensions += *.qml *.svg *.ts *.qm
|
examples.fileextensions += *.qml *.ts *.qm
|
||||||
|
examples.imageextensions = "*.svg *.png *.jpg *.gif"
|
||||||
|
|
||||||
depends += qtwidgets \
|
depends += qtwidgets \
|
||||||
qtcore \
|
qtcore \
|
||||||
|
After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 21 KiB |
BIN
doc/qtdesignstudio/examples/doc/images/loginui1-library.jpg
Normal file
After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 9.9 KiB |
BIN
doc/qtdesignstudio/examples/doc/images/loginui1-main-page.jpg
Normal file
After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 40 KiB |
BIN
doc/qtdesignstudio/examples/doc/images/loginui1-ready.jpg
Normal file
After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
BIN
doc/qtdesignstudio/examples/doc/images/loginui1.jpg
Normal file
After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 12 KiB |
@@ -27,20 +27,20 @@
|
|||||||
\example loginui1
|
\example loginui1
|
||||||
\ingroup studioexamples
|
\ingroup studioexamples
|
||||||
\ingroup gstutorials
|
\ingroup gstutorials
|
||||||
\nextpage {Log In UI - Part 2}
|
\nextpage {Log In UI - Positioning}
|
||||||
|
|
||||||
\title Log In UI - Part 1
|
\title Log In UI - Components
|
||||||
\brief Illustrates how to use wizard templates to create a simple UI that
|
\brief Illustrates how to use wizard templates to create a simple UI
|
||||||
contains a text label, push buttons, and a logo.
|
wireframe that contains a text label, images, and push buttons.
|
||||||
|
|
||||||
\image loginui1.png
|
\image loginui1.jpg
|
||||||
|
|
||||||
\e{Log In UI - Part 1} is the first in a series of tutorials that build on
|
\e{Log In UI - Components} is the first in a series of tutorials that build
|
||||||
each other to illustrate how to use \QDS to create a simple UI with some
|
on each other to illustrate how to use \QDS to create a simple UI with some
|
||||||
basic UI components, such as pages, buttons, and fields. Part 1 describes
|
basic UI components, such as pages, buttons, and fields. The first tutorial
|
||||||
how to use the \QDS wizard templates to create a project and a
|
in the series describes how to use the \QDS wizard templates to create a
|
||||||
button UI control, and how to modify the files generated by the wizard
|
project and a button UI control, and how to modify the files generated by
|
||||||
templates to design your own UI.
|
the wizard templates to wireframe the UI.
|
||||||
|
|
||||||
The \e {Learn More} sections provide additional information about the
|
The \e {Learn More} sections provide additional information about the
|
||||||
tasks performed by the wizards and about other basic tasks and concepts.
|
tasks performed by the wizards and about other basic tasks and concepts.
|
||||||
@@ -67,9 +67,10 @@
|
|||||||
\li Select \uicontrol Next (or \uicontrol Continue on \macos) to
|
\li Select \uicontrol Next (or \uicontrol Continue on \macos) to
|
||||||
continue to the \uicontrol {Define Project Details} page.
|
continue to the \uicontrol {Define Project Details} page.
|
||||||
\li In the \uicontrol {Screen resolution} field, select the initial
|
\li In the \uicontrol {Screen resolution} field, select the initial
|
||||||
size of the UI. In this tutorial, we use the smallest predefined
|
size of the UI. In this tutorial, we use the predefined size
|
||||||
size, \e {640 x 480}. You can easily change the screen size later
|
\e {720 x 1280 (HD)} (portrait) instead of the default size
|
||||||
in \l Properties.
|
(landscape). You can easily change the screen size later in
|
||||||
|
\l Properties.
|
||||||
\li Select \uicontrol Finish (or \uicontrol Done on \macos) to create
|
\li Select \uicontrol Finish (or \uicontrol Done on \macos) to create
|
||||||
the project.
|
the project.
|
||||||
\endlist
|
\endlist
|
||||||
@@ -115,41 +116,55 @@
|
|||||||
\li The \e {qtquickcontrols2.conf} file specifies the selected
|
\li The \e {qtquickcontrols2.conf} file specifies the selected
|
||||||
\l {Styling Qt Quick Controls}{UI style} and some style-specific
|
\l {Styling Qt Quick Controls}{UI style} and some style-specific
|
||||||
arguments.
|
arguments.
|
||||||
\li The \e imports folder contains a \e {Constants.qml} file that
|
\li The \e imports folder contains \e {Constants.qml} and
|
||||||
specifies a font loader for the Arial font and a \e qmldir module
|
\e {DirectoryFontLoader.qml} files that specify a font loader
|
||||||
definition file that declares the Constant component. For more
|
and a \e qmldir module definition file that declares the Constant
|
||||||
information, see \l {Module Definition qmldir Files}. The
|
component. For more information, see
|
||||||
\e EventListModel.qml and \e EventListSimulator.qml files are
|
\l {Module Definition qmldir Files}. The \e EventListModel.qml and
|
||||||
not used in this example, so you can ignore them for now.
|
\e EventListSimulator.qml files are not used in this example, so
|
||||||
|
you can ignore them for now.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
UI files define a hierarchy of components with a highly-readable, structured
|
\l{UI Files}{UI files} define a hierarchy of components with a
|
||||||
layout. Every UI file consists of two parts: an imports section and an
|
highly-readable, structured layout. Every UI file consists of two parts:
|
||||||
component declaration section. The components and functionality most common to
|
an imports section and an component declaration section. The components and
|
||||||
UIs are provided in the QtQuick import. You can view the code of an
|
functionality most common to UIs are provided in the \c QtQuick import. You
|
||||||
.ui.qml file in the \l{Text Editor} view.
|
can view the code of a \e .ui.qml file in the \l{Text Editor} view.
|
||||||
|
|
||||||
Next, you will edit the values of the properties of the component instances
|
Next, you will edit the values of the properties of the component instances
|
||||||
to create the main page of the UI.
|
to create the main page of the UI.
|
||||||
|
|
||||||
\section1 Creating the Main Page
|
\section1 Creating the Main Page
|
||||||
|
|
||||||
You will now change the values of the properties of the \l{basic-rectangle}
|
You will now change the values of the properties of the \l Text component
|
||||||
{Rectangle} component instance to add a gradient to the UI background and
|
instance to create a tag line using a custom font. You will add the font
|
||||||
those of the \l Text component instance to set the title text in a larger
|
as an asset and set it to be used in the properties of the component.
|
||||||
strong font. In addition, you will import an image as an asset and add it
|
In addition, you will import a background image and logo as assets and
|
||||||
to the page.
|
add them to the page as instances of the \l{Images}{Image} component.
|
||||||
|
|
||||||
To add an image to your UI, you should first click
|
You can download the logo and the background image from here:
|
||||||
\l {https://doc.qt.io/qtdesignstudio/images/used-in-examples/loginui1/qt_logo_green_64x64px.png}
|
|
||||||
{here} to open the Qt logo in a browser and save it as a file on your
|
\list
|
||||||
computer. Next, you need to add the image to \l Library:
|
\li \l{https://doc.qt.io/qtdesignstudio/images/used-in-examples/loginui1/qt_logo_green_128x128px.png}
|
||||||
|
{qt_logo_green_128x128px.png}
|
||||||
|
\li \l{https://doc.qt.io/qtdesignstudio/images/used-in-examples/loginui1/adventurePage.jpg}
|
||||||
|
{Background image} (\e adventurePage.jpg)
|
||||||
|
|
||||||
|
Photo by \l{https://unsplash.com/photos/a2MgJdG6UvE}
|
||||||
|
{Benjamin DeYoung} on \l{https://unsplash.com}{Unsplash}.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
You can download the font from
|
||||||
|
\l{https://fonts.google.com/specimen/Titillium+Web#standard-styles}
|
||||||
|
{Titillium Web ExtraLight font} or use Arial as a substitute.
|
||||||
|
|
||||||
|
To add the assets to \l Library:
|
||||||
\list 1
|
\list 1
|
||||||
\li Select \uicontrol Library > \uicontrol Assets
|
\li Select \uicontrol Library > \uicontrol Assets
|
||||||
> \inlineimage plus.png
|
> \inlineimage plus.png
|
||||||
.
|
.
|
||||||
\li Select the image file, and then select \uicontrol Open.
|
\li Select the asset files, and then select \uicontrol Open.
|
||||||
\li Select the location where the image will be saved in the
|
\li Select the location where the files will be saved in the
|
||||||
\uicontrol {Add Resources} dialog.
|
\uicontrol {Add Resources} dialog.
|
||||||
\li Select \uicontrol OK.
|
\li Select \uicontrol OK.
|
||||||
\endlist
|
\endlist
|
||||||
@@ -166,42 +181,35 @@
|
|||||||
To modify the \e Screen01 component in \uicontrol {Form Editor}:
|
To modify the \e Screen01 component in \uicontrol {Form Editor}:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
\li Select the \e Rectangle instance in the \l Navigator view to display
|
\li Drag-and-drop the background image from \uicontrol Library >
|
||||||
its properties in the \l Properties view.
|
\uicontrol Assets to the rectangle in \l Navigator.
|
||||||
\li In the \uicontrol Color field, select the
|
\image loginui1-library-assets.jpg "Library view Assets tab"
|
||||||
\inlineimage icon_color_gradient.png
|
\li \QDS automatically creates an instance of the \l{Images}{Image}
|
||||||
(\uicontrol {Linear Gradient}) button to add a linear gradient to
|
component for you with the path to the image file set as the
|
||||||
the screen background. Click the start point (1) and end point (2)
|
value of \l Properties > \uicontrol Image > \uicontrol Source.
|
||||||
to specify the gradient colors. Drag-and-drop the points along the
|
|
||||||
gradient bar to specify where the gradient starts and ends. In this
|
|
||||||
tutorial, the color changes from white to green (#41cd52), starting
|
|
||||||
mid-screen, at position 0.5. You can use your favorite colors or
|
|
||||||
select a predefined gradient in the \uicontrol {Gradient Picker}.
|
|
||||||
For more information, see \l{Picking Gradients}.
|
|
||||||
\image loginui1-background-gradient.png "Rectangle color properties"
|
|
||||||
\li Select \e Text in \uicontrol Navigator to display its properties in
|
|
||||||
\uicontrol Properties.
|
|
||||||
\list a
|
|
||||||
\li In the \uicontrol ID field, enter the ID \e pageTitle,
|
|
||||||
so that you can easily find the title component in
|
|
||||||
\uicontrol Navigator and other \QDS views.
|
|
||||||
\image loginui1-text-properties.png "Text properties"
|
|
||||||
\li In the \uicontrol Text field, enter the page title:
|
|
||||||
\e {Qt Account}.
|
|
||||||
\li In the \uicontrol Font group, \uicontrol Size field,
|
|
||||||
set the font size of the title: \e 24 pixels.
|
|
||||||
\image loginui1-text-font-properties.png "Font properties"
|
|
||||||
\li In the \uicontrol {Font style} field, select the
|
|
||||||
\uicontrol B button to use a strong font.
|
|
||||||
\endlist
|
|
||||||
\li Drag-and-drop the Qt logo from \uicontrol Library > \uicontrol Assets
|
|
||||||
to the top-left corner of the rectangle.
|
|
||||||
\image loginui1-library-assets.png "Library view Assets tab"
|
|
||||||
\QDS automatically creates an instance of the \l{Images}{Image}
|
|
||||||
component for you with the path to the image file set as the value of
|
|
||||||
the \uicontrol Source field in \uicontrol Properties.
|
|
||||||
\image loginui1-image-properties.png "Image properties"
|
\image loginui1-image-properties.png "Image properties"
|
||||||
\li In the \uicontrol ID field, change the ID of the image to \e logo.
|
\li Drag-and-drop the Qt logo from \uicontrol Assets to the rectangle
|
||||||
|
in \uicontrol Navigator and move it to the top-center of the
|
||||||
|
background image in \uicontrol {Form Editor}.
|
||||||
|
\li Select \e Text in \uicontrol Navigator and drag it below the logo
|
||||||
|
in \uicontrol {Form Editor}. If the text is hidden behind the
|
||||||
|
background, select \inlineimage icons/navigator-arrowdown.png
|
||||||
|
in \uicontrol Navigator to move the text as the last item in the
|
||||||
|
component tree structure. The text should then appear on top
|
||||||
|
of the background.
|
||||||
|
\li Edit text properties in \uicontrol Properties:
|
||||||
|
\list a
|
||||||
|
\li In \uicontrol Component > \uicontrol ID, enter the ID
|
||||||
|
\e tagLine.
|
||||||
|
\li In \uicontrol Character > \uicontrol Text, enter the tag
|
||||||
|
line: \e {Are you ready to explore?}.
|
||||||
|
\image loginui1-text-properties.png "Text properties"
|
||||||
|
\li In \uicontrol Font, select \e {Titillium Web ExtraLight}.
|
||||||
|
\li In \uicontrol Size, set the font size of the tag line to
|
||||||
|
\e 50 pixels (\uicontrol px).
|
||||||
|
\li In \uicontrol {Text color}, set the text color to white
|
||||||
|
(\e #ffffff).
|
||||||
|
\endlist
|
||||||
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
||||||
to save your changes.
|
to save your changes.
|
||||||
\endlist
|
\endlist
|
||||||
@@ -209,7 +217,9 @@
|
|||||||
Your UI should now look something like this in \uicontrol {Form Editor}
|
Your UI should now look something like this in \uicontrol {Form Editor}
|
||||||
and live preview:
|
and live preview:
|
||||||
|
|
||||||
\image loginui1-main-page.png "Modified UI in the Design mode"
|
\image loginui1-main-page.jpg "Modified UI in the Design mode"
|
||||||
|
|
||||||
|
You can resize the preview dialog to display the whole screen.
|
||||||
|
|
||||||
\section2 Learn More - Components
|
\section2 Learn More - Components
|
||||||
|
|
||||||
@@ -236,7 +246,7 @@
|
|||||||
The \l {basic-rectangle}{Rectangle}, \l Text, and \l {Images}{Image}
|
The \l {basic-rectangle}{Rectangle}, \l Text, and \l {Images}{Image}
|
||||||
components used in this tutorial are based on the \l Item component.
|
components used in this tutorial are based on the \l Item component.
|
||||||
It is the base component for all visual elements, with implementation
|
It is the base component for all visual elements, with implementation
|
||||||
of basic functions and properties, such as component name, ID, position,
|
of basic functions and properties, such as component type, ID, position,
|
||||||
size, and visibility.
|
size, and visibility.
|
||||||
|
|
||||||
For more information, see \l{Use Case - Visual Elements In QML}. For
|
For more information, see \l{Use Case - Visual Elements In QML}. For
|
||||||
@@ -264,19 +274,6 @@
|
|||||||
properties for each text component, such as size in points or pixels,
|
properties for each text component, such as size in points or pixels,
|
||||||
weight, style, and spacing.
|
weight, style, and spacing.
|
||||||
|
|
||||||
To add custom fonts in the list of available fonts in \l Properties:
|
|
||||||
|
|
||||||
\list 1
|
|
||||||
\li Select \uicontrol Library > \l Assets
|
|
||||||
> \inlineimage plus.png
|
|
||||||
.
|
|
||||||
\li Browse to the folder that contains the font files and select them,
|
|
||||||
and then select \uicontrol Open.
|
|
||||||
\li Select the location where the file will be saved in the
|
|
||||||
\uicontrol {Add Resources} dialog.
|
|
||||||
\li Select \uicontrol OK to save the fonts.
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
If you want to create a label with a background, use the \l Label component
|
If you want to create a label with a background, use the \l Label component
|
||||||
from the \uicontrol {Qt Quick Controls} module instead of the Text component.
|
from the \uicontrol {Qt Quick Controls} module instead of the Text component.
|
||||||
|
|
||||||
@@ -284,9 +281,8 @@
|
|||||||
|
|
||||||
The \l {Images}{Image} component is used for adding images to the UI in several
|
The \l {Images}{Image} component is used for adding images to the UI in several
|
||||||
supported formats, including bitmap formats such as PNG and JPEG and vector
|
supported formats, including bitmap formats such as PNG and JPEG and vector
|
||||||
graphics formats such as SVG. To add an image you wish to use in your
|
graphics formats such as SVG. To add an image to \uicontrol Library, select
|
||||||
designs to \uicontrol Library, select \uicontrol Library > \uicontrol Assets
|
\uicontrol Assets > \inlineimage plus.png
|
||||||
> \inlineimage plus.png
|
|
||||||
, and then select the image file.
|
, and then select the image file.
|
||||||
|
|
||||||
If you need to display animated images, use the \l {Animated Image}
|
If you need to display animated images, use the \l {Animated Image}
|
||||||
@@ -298,11 +294,11 @@
|
|||||||
You can use another wizard template to create a push button and to add it to
|
You can use another wizard template to create a push button and to add it to
|
||||||
the project. The wizard template creates a reusable button component that
|
the project. The wizard template creates a reusable button component that
|
||||||
appears in \uicontrol Library > \uicontrol Components >
|
appears in \uicontrol Library > \uicontrol Components >
|
||||||
\uicontrol {My Components}. You can drag-and-drop it to \l {Form Editor}
|
\uicontrol {My Components}. You can drag-and-drop it to \l Navigator
|
||||||
to create button instances and modify their properties in the
|
to create button instances and modify their properties in the
|
||||||
\uicontrol Properties view to change their appearance and functionality.
|
\uicontrol Properties view to change their appearance and functionality.
|
||||||
|
|
||||||
If you find that you cannot use the wizard template nor the preset
|
If you cannot use the wizard template nor the preset
|
||||||
button controls available in \uicontrol Library > \uicontrol Components >
|
button controls available in \uicontrol Library > \uicontrol Components >
|
||||||
\uicontrol {Qt Quick Controls} to create the kind of push button that you
|
\uicontrol {Qt Quick Controls} to create the kind of push button that you
|
||||||
want, you can create your button from scratch using default components. For
|
want, you can create your button from scratch using default components. For
|
||||||
@@ -316,9 +312,9 @@
|
|||||||
\uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls} >
|
\uicontrol {Files and Classes} > \uicontrol {Qt Quick Controls} >
|
||||||
\uicontrol {Custom Button} > \uicontrol Choose.
|
\uicontrol {Custom Button} > \uicontrol Choose.
|
||||||
\li In the \uicontrol {Component name} field, enter a name for your
|
\li In the \uicontrol {Component name} field, enter a name for your
|
||||||
button component: \e {PushButton}.
|
button component: \e {EntryField}.
|
||||||
\li Select \uicontrol Finish (or \uicontrol Done on \macos) to create
|
\li Select \uicontrol Finish (or \uicontrol Done on \macos) to create
|
||||||
the button.
|
the button UI file, \e EntryField.ui.qml.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
Your button should now look something like this in the \uicontrol Design
|
Your button should now look something like this in the \uicontrol Design
|
||||||
@@ -336,20 +332,20 @@
|
|||||||
you to set text, display an icon, react to mouse clicks, and so on.
|
you to set text, display an icon, react to mouse clicks, and so on.
|
||||||
|
|
||||||
To be able to use the functionality of the Button control, the wizard template
|
To be able to use the functionality of the Button control, the wizard template
|
||||||
adds the following \e import statements to the \e PushButton.ui.qml file:
|
adds the following \e import statements to the \e EntryField.ui.qml file:
|
||||||
|
|
||||||
\quotefromfile loginui1/PushButton.ui.qml
|
\quotefromfile loginui1/EntryField.ui.qml
|
||||||
\skipto import
|
\skipto import
|
||||||
\printuntil Controls
|
\printuntil Controls
|
||||||
|
|
||||||
Next, you will change the appearance of the PushButton component by
|
Next, you will change the appearance of the EntryField component by
|
||||||
modifying its properties.
|
modifying its properties.
|
||||||
|
|
||||||
\section1 Styling the Button
|
\section1 Styling the Button
|
||||||
|
|
||||||
You can now modify the properties of the PushButton component to your
|
You can now modify the properties of the EntryField component to your
|
||||||
liking. To make the changes apply to all the PushButton instances, you
|
liking. To make the changes apply to all the EntryField instances, you
|
||||||
must make them in the \e PushButton.ui.qml file.
|
must make them in the \e EntryField.ui.qml file.
|
||||||
|
|
||||||
The Custom Button wizard template adds a \e normal state and a \e down state
|
The Custom Button wizard template adds a \e normal state and a \e down state
|
||||||
to change the button background and text color when the button is clicked.
|
to change the button background and text color when the button is clicked.
|
||||||
@@ -357,98 +353,149 @@
|
|||||||
button in the \e base state, they are automatically applied to the other
|
button in the \e base state, they are automatically applied to the other
|
||||||
states. However, the property values that have been explicitly changed in
|
states. However, the property values that have been explicitly changed in
|
||||||
the \e normal or \e down state are not changed automatically and you have
|
the \e normal or \e down state are not changed automatically and you have
|
||||||
to change them separately in that state.
|
to either reset them to the base state or set them separately in that state.
|
||||||
|
|
||||||
To change the button property values:
|
To change the button property values:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
|
\li Select \e control in \uicontrol Navigator to display its
|
||||||
|
properties in \uicontrol Properties.
|
||||||
|
\li In \uicontrol {Geometry - 2D} > \uicontrol Size, set button
|
||||||
|
width (\uicontrol W) to \e 500 and height (\uicontrol H)
|
||||||
|
to \e 100, to match the width of the tag line.
|
||||||
|
\li In the \uicontrol Control section, deselect the \uicontrol Hover
|
||||||
|
check box because we don't want the hover effect for the button.
|
||||||
\li Select the button background in \uicontrol Navigator to display its
|
\li Select the button background in \uicontrol Navigator to display its
|
||||||
properties in \uicontrol Properties.
|
properties in \uicontrol Properties.
|
||||||
\li In the \uicontrol Color field, select
|
\li In \uicontrol Rectangle > \uicontrol {Fill color}, set the color to
|
||||||
\inlineimage icon_color_none.png
|
transparent light gray (\e #28e7e7e7) in \uicontrol Hex. You can
|
||||||
to use a solid background color (white) instead of transparent.
|
also use the \l{Picking Colors}{color picker} to set the color.
|
||||||
\li In the \uicontrol {Border Color} field, select
|
\li In \uicontrol {Border Color}, select white (\e #ffffff).
|
||||||
\inlineimage icons/action-icon.png
|
\li In \uicontrol Radius, enter \e 50 to give the button
|
||||||
(\uicontrol Actions) > \uicontrol {Set Binding} to use the
|
|
||||||
gradient color (\e #41cd52) as the border color. You can also
|
|
||||||
use the color picker to change the color.
|
|
||||||
\image loginui1-binding-editor.png "Binding Editor"
|
|
||||||
\li Press \key Enter or select \uicontrol OK to save the new value.
|
|
||||||
\li In the \uicontrol Radius field, enter 20 to give the button
|
|
||||||
rounded corners.
|
rounded corners.
|
||||||
\li In the \uicontrol States view, select the \e normal state and set
|
\li Select the text component in \uicontrol Navigator to display its
|
||||||
the background color to white and the border color to green, as
|
properties in \uicontrol Properties.
|
||||||
instructed above. Repeat for the \e down state.
|
\li In \uicontrol Character > \uicontrol Font, select
|
||||||
\li Select the \e base state, and then select the text component
|
\e {Titillium Web ExtraLight}.
|
||||||
in \uicontrol Navigator to display its properties in
|
\li In \uicontrol Size, set the font size to \e 34 pixels
|
||||||
\uicontrol Properties.
|
(\uicontrol px).
|
||||||
\li In the \uicontrol {Text Color} field, select \uicontrol Actions >
|
\li In \uicontrol {Text color}, set the text color to white
|
||||||
\uicontrol Reset to reset the text color to the default color,
|
(\e #ffffff).
|
||||||
black.
|
\li In \uicontrol {Alignment H}, select the \uicontrol Left button to
|
||||||
\li In the \uicontrol {Font style} field, select the \uicontrol B button
|
align the text horizontally to the left.
|
||||||
to use the strong font.
|
\li In the \uicontrol Padding section > \uicontrol Horizontal >
|
||||||
\li In the \uicontrol States view, select the \e down state to set the
|
\uicontrol Left, set the padding in the field between background
|
||||||
button text color to the same green as the border.
|
border and text to \e 50.
|
||||||
|
\image loginui1-text-properties-button.png "Text properties"
|
||||||
|
\li In the \uicontrol States view, select the \e normal state and
|
||||||
|
repeat the changes in the background color and text properties,
|
||||||
|
as necessary. Repeat for the \e down state.
|
||||||
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
||||||
to save your changes.
|
to save your changes.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
Your button should now look something like this:
|
Your button should now look something like this:
|
||||||
|
|
||||||
\image loginui1-button-styled.png "Modified button in the Form Editor"
|
\image loginui1-entry-field-styled.jpg "Modified button in the Form Editor"
|
||||||
|
|
||||||
\section2 Learn More - Property Bindings
|
Next, you will add instances of the \e EntryField component to the
|
||||||
|
\e Screen01 component and modify their properties.
|
||||||
|
|
||||||
A component's property can be assigned a static value which stays constant
|
\section1 Adding Entry Fields to the UI
|
||||||
until it is explicitly assigned a new value. In this tutorial, the color
|
|
||||||
values you set in \uicontrol {Binding Editor} are static.
|
|
||||||
|
|
||||||
However, to make the fullest use of the built-in support for dynamic
|
You will now add EntryField instances to the UI and modify their properties.
|
||||||
component behavior, you can use property bindings that specify relationships
|
|
||||||
between different component properties. When a property's dependencies change
|
|
||||||
in value, the property is automatically updated according to the specified
|
|
||||||
relationship.
|
|
||||||
|
|
||||||
Behind the scenes, the property's dependencies are monitored (that is, the
|
\list 1
|
||||||
variables in the binding expression). When a change is detected, the binding
|
\li Double-click \e Screen01.ui.qml in \uicontrol Projects
|
||||||
expression is re-evaluated and the new result is applied to the property.
|
to open it in \uicontrol {Form Editor}.
|
||||||
|
\li Drag-and-drop two instances of the EntryField component from
|
||||||
|
\uicontrol Library > \uicontrol Components >
|
||||||
|
\uicontrol {My Components} to the rectangle in \uicontrol Navigator.
|
||||||
|
\image loginui1-library.jpg "My Components tab of Library view"
|
||||||
|
\li Select the first EntryField instance in \uicontrol Navigator
|
||||||
|
to modify its ID and text in \uicontrol Properties.
|
||||||
|
\li In \uicontrol Component > \uicontrol ID, enter \e username.
|
||||||
|
\li In \uicontrol {Button Content} > \uicontrol Text, enter
|
||||||
|
\e {Username or Email} and select \uicontrol tr to mark the text
|
||||||
|
\l {Internationalization and Localization with Qt Quick}
|
||||||
|
{translatable}.
|
||||||
|
\li Select the second EntryField instance, and change its ID to
|
||||||
|
\e password and text to \e Password. Again, mark the text
|
||||||
|
translatable.
|
||||||
|
\li Move the cursor on the selected button instance to make the
|
||||||
|
selection icon appear. You can now drag the button instance
|
||||||
|
to another position in \uicontrol {Form Editor}. Use the
|
||||||
|
guidelines to align the button instances below the tag line:
|
||||||
|
\image loginui1-align-buttons.jpg
|
||||||
|
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
||||||
|
to save your changes.
|
||||||
|
\endlist
|
||||||
|
|
||||||
For more information, see \l {Property Binding}.
|
\section1 Creating Another Button
|
||||||
|
|
||||||
Next, you will add two instances of the \e PushButton component to the
|
We want to center-align the text of two additional push buttons and use
|
||||||
\e Screen01 component and modify their text labels.
|
brighter colors for them, so we create a second button component as
|
||||||
|
instructed in \l{Creating a Push Button}. This time we call it
|
||||||
|
\e PushButton.
|
||||||
|
|
||||||
\section1 Adding Buttons to the UI
|
To make the changes apply to all the PushButton instances, you
|
||||||
|
must make them in the \e PushButton.ui.qml file.
|
||||||
|
|
||||||
You will now add two PushButton instances to the UI and modify their labels.
|
To change the button property values:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \e control in \uicontrol Navigator to display its
|
||||||
|
properties in \uicontrol Properties.
|
||||||
|
\li In \uicontrol {Geometry - 2D} > \uicontrol Size, set button
|
||||||
|
width (\uicontrol W) to \e 500 and height (\uicontrol H)
|
||||||
|
to \e 100.
|
||||||
|
\li In the \uicontrol Control section, deselect the \uicontrol Hover
|
||||||
|
check box because we don't want the hover effect for the button.
|
||||||
|
\li Select the button background in \uicontrol Navigator to display its
|
||||||
|
properties in \uicontrol Properties.
|
||||||
|
\li In \uicontrol Rectangle > \uicontrol {Border color}, select the
|
||||||
|
green used in the logo (\e #41cd52).
|
||||||
|
\li In \uicontrol Radius, enter \e 50 to give the button rounded
|
||||||
|
corners.
|
||||||
|
\li Select the the text component in \uicontrol Navigator to display
|
||||||
|
its properties in \uicontrol Properties.
|
||||||
|
\li In \uicontrol Character > \uicontrol Font, select
|
||||||
|
\e {Titillium Web ExtraLight}.
|
||||||
|
\li In \uicontrol Size, set the font size to \e 34 pixels.
|
||||||
|
\li In \uicontrol {Text color}, set the text color to \e #41cd52.
|
||||||
|
\li In the \uicontrol States view, select the \e normal state and repeat
|
||||||
|
the changes, as necessary.
|
||||||
|
\li Repeat for the \e down state. However, in \uicontrol Rectangle >
|
||||||
|
\uicontrol {Fill color}, set the color to green (\e #41cd52) to
|
||||||
|
turn the button background green when the button is pressed down.
|
||||||
|
Also, in \uicontrol Text > \uicontrol Character >
|
||||||
|
\uicontrol {Text color}, keep the text color as white (\e #ffffff).
|
||||||
|
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
||||||
|
to save your changes.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Adding Push Buttons to the UI
|
||||||
|
|
||||||
|
You will now add PushButton instances to the UI and modify their properties.
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
\li Double-click \e Screen01.ui.qml in \uicontrol Projects
|
\li Double-click \e Screen01.ui.qml in \uicontrol Projects
|
||||||
to open it in \uicontrol {Form Editor}.
|
to open it in \uicontrol {Form Editor}.
|
||||||
\li Drag-and-drop two instances of the PushButton component from
|
\li Drag-and-drop two instances of the PushButton component from
|
||||||
\uicontrol Library > \uicontrol Components > \uicontrol {My Components}
|
\uicontrol Library > \uicontrol Components >
|
||||||
to \uicontrol {Form Editor}.
|
\uicontrol {My Components} to the rectangle in \uicontrol Navigator.
|
||||||
\image loginui1-library.png "My Components tab of Library view"
|
\li Drag the button instances to the bottom of the background image in
|
||||||
\li Select one of the PushButton instances in \uicontrol Navigator
|
\uicontrol {Form Editor}. Use the guidelines to align the button
|
||||||
|
instances horizontally with the entry fields.
|
||||||
|
\li Select the first PushButton instance in \uicontrol Navigator
|
||||||
to modify its ID and text label in \uicontrol Properties.
|
to modify its ID and text label in \uicontrol Properties.
|
||||||
\li In the \uicontrol ID field, enter \e loginButton.
|
\li In \uicontrol Component > \uicontrol ID, enter \e login.
|
||||||
\li In the \uicontrol Text field, enter \e {Log In} and select
|
\li In \uicontrol {Button Content} > \uicontrol Text, enter
|
||||||
\uicontrol tr to mark the text
|
\e Continue and select \uicontrol tr to mark the text
|
||||||
\l {Internationalization and Localization with Qt Quick}
|
translatable.
|
||||||
{translatable}.
|
\li Select the second PushButton instance, and change its ID to
|
||||||
\li Select the other PushButton instance, and change its ID to
|
\e createAccount and text label to \e {Create Account}. Again,
|
||||||
\e registerButton and text label to \e {Create Account}.
|
mark the text translatable.
|
||||||
Again, mark the text translatable.
|
|
||||||
\li When a component instance is selected, selection handles are
|
|
||||||
displayed in its corners and on its sides. Use the selection
|
|
||||||
handles to resize the button instances so that the text fits
|
|
||||||
comfortably on the button background.
|
|
||||||
In this tutorial, the button width is set to 120 pixels.
|
|
||||||
\li Move the cursor on the selected button instance to make the
|
|
||||||
selection icon appear. You can now drag the button instance
|
|
||||||
to another position in \uicontrol {Form Editor}. Use the
|
|
||||||
guidelines to align the button instances below the page title:
|
|
||||||
\image loginui1-align-buttons.png
|
|
||||||
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
\li Select \uicontrol File > \uicontrol Save or press \key {Ctrl+S}
|
||||||
to save your changes.
|
to save your changes.
|
||||||
\endlist
|
\endlist
|
||||||
@@ -456,7 +503,7 @@
|
|||||||
The first iteration of your UI is now ready and should now look something
|
The first iteration of your UI is now ready and should now look something
|
||||||
like this in \uicontrol {Form Editor} and live preview:
|
like this in \uicontrol {Form Editor} and live preview:
|
||||||
|
|
||||||
\image loginui1-ready.png "The finished UI in Form Editor"
|
\image loginui1-ready.jpg "The finished UI in Form Editor"
|
||||||
|
|
||||||
\section2 Learn More - Component IDs
|
\section2 Learn More - Component IDs
|
||||||
|
|
||||||
@@ -472,7 +519,7 @@
|
|||||||
|
|
||||||
To learn how to add more UI controls and position them on the page using
|
To learn how to add more UI controls and position them on the page using
|
||||||
anchors and layouts so that the UI is scalable, see the next tutorial in
|
anchors and layouts so that the UI is scalable, see the next tutorial in
|
||||||
the series, \l {Log In UI - Part 2}.
|
the series, \l {Log In UI - Positioning}.
|
||||||
|
|
||||||
For a more advanced example of creating a menu button and using it to
|
For a more advanced example of creating a menu button and using it to
|
||||||
construct a button bar, see \l {Side Menu}.
|
construct a button bar, see \l {Side Menu}.
|
||||||
|
@@ -27,16 +27,16 @@
|
|||||||
\example loginui2
|
\example loginui2
|
||||||
\ingroup studioexamples
|
\ingroup studioexamples
|
||||||
\ingroup gstutorials
|
\ingroup gstutorials
|
||||||
\previouspage {Log In UI - Part 1}
|
\previouspage {Log In UI - Components}
|
||||||
\nextpage {Log In UI - Part 3}
|
\nextpage {Log In UI - States}
|
||||||
|
|
||||||
\title Log In UI - Part 2
|
\title Log In UI - Positioning
|
||||||
\brief Illustrates how to position UI components on pages using anchors and
|
\brief Illustrates how to position UI components on pages using anchors and
|
||||||
positioners.
|
positioners.
|
||||||
|
|
||||||
\image loginui2.png "Log In UI"
|
\image loginui2.png "Log In UI"
|
||||||
|
|
||||||
\e{Log In UI - Part 2} is the second in a series of tutorials that build
|
\e{Log In UI - Positioning} is the second in a series of tutorials that build
|
||||||
on each other to illustrate how to use \QDS to create a simple UI with
|
on each other to illustrate how to use \QDS to create a simple UI with
|
||||||
some basic UI components, such as pages, buttons, and entry fields. Part 2
|
some basic UI components, such as pages, buttons, and entry fields. Part 2
|
||||||
describes how to position the UI components on pages to create a scalable
|
describes how to position the UI components on pages to create a scalable
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
their proper places when you resize the UI on the desktop or on devices
|
their proper places when you resize the UI on the desktop or on devices
|
||||||
with different screen sizes, you will use anchors and positioners.
|
with different screen sizes, you will use anchors and positioners.
|
||||||
|
|
||||||
These instructions build on \l {Log In UI - Part 1}.
|
These instructions build on \l {Log In UI - Components}.
|
||||||
|
|
||||||
The \e {Learn More} sections provide additional information about the
|
The \e {Learn More} sections provide additional information about the
|
||||||
task at hand.
|
task at hand.
|
||||||
@@ -197,6 +197,6 @@
|
|||||||
\section1 Next Steps
|
\section1 Next Steps
|
||||||
|
|
||||||
To learn how to add a second page and move to it from the main page, see
|
To learn how to add a second page and move to it from the main page, see
|
||||||
the next tutorial in the series, \l {Log In UI - Part 3}.
|
the next tutorial in the series, \l {Log In UI - States}.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@@ -28,14 +28,14 @@
|
|||||||
\ingroup studioexamples
|
\ingroup studioexamples
|
||||||
\ingroup gstutorials
|
\ingroup gstutorials
|
||||||
|
|
||||||
\title Log In UI - Part 3
|
\title Log In UI - States
|
||||||
\brief Illustrates how to use states to create a second UI page.
|
\brief Illustrates how to use states to create a second UI page.
|
||||||
\previouspage {Log In UI - Part 2}
|
\previouspage {Log In UI - Positioning}
|
||||||
\nextpage {Log In UI - Part 4}
|
\nextpage {Log In UI - Timeline}
|
||||||
|
|
||||||
\image loginui3.gif "Log In UI"
|
\image loginui3.gif "Log In UI"
|
||||||
|
|
||||||
\e{Log In UI - Part 3} is the third in a series of tutorials that build
|
\e{Log In UI - States} is the third in a series of tutorials that build
|
||||||
on each other to illustrate how to use \QDS to create a simple UI with
|
on each other to illustrate how to use \QDS to create a simple UI with
|
||||||
some basic UI components, such as pages, buttons, and entry fields. Part 3
|
some basic UI components, such as pages, buttons, and entry fields. Part 3
|
||||||
describes how to use \e states to add a second page to the UI. On the
|
describes how to use \e states to add a second page to the UI. On the
|
||||||
@@ -49,8 +49,8 @@
|
|||||||
These instructions build on:
|
These instructions build on:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l {Log In UI - Part 1}
|
\li \l {Log In UI - Components}
|
||||||
\li \l {Log In UI - Part 2}
|
\li \l {Log In UI - Positioning}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
The \e {Learn More} sections provide additional information relevant to the
|
The \e {Learn More} sections provide additional information relevant to the
|
||||||
@@ -237,5 +237,5 @@
|
|||||||
|
|
||||||
To learn how to use a timeline to animate the transition between the login
|
To learn how to use a timeline to animate the transition between the login
|
||||||
and registration pages, see the next tutorial in the series,
|
and registration pages, see the next tutorial in the series,
|
||||||
\l {Log In UI - Part 4}.
|
\l {Log In UI - Timeline}.
|
||||||
*/
|
*/
|
||||||
|
@@ -28,14 +28,14 @@
|
|||||||
\ingroup studioexamples
|
\ingroup studioexamples
|
||||||
\ingroup gstutorials
|
\ingroup gstutorials
|
||||||
|
|
||||||
\title Log In UI - Part 4
|
\title Log In UI - Timeline
|
||||||
\brief Illustrates how to use the timeline and states to animate UI
|
\brief Illustrates how to use the timeline and states to animate UI
|
||||||
components.
|
components.
|
||||||
\previouspage {Log In UI - Part 3}
|
\previouspage {Log In UI - States}
|
||||||
|
|
||||||
\image loginui4.gif "Log In UI"
|
\image loginui4.gif "Log In UI"
|
||||||
|
|
||||||
\e{Log In UI - Part 4} is the fourth in a series of tutorials that build
|
\e{Log In UI - Timeline} is the fourth in a series of tutorials that build
|
||||||
on each other to illustrate how to use \QDS to create a simple UI with
|
on each other to illustrate how to use \QDS to create a simple UI with
|
||||||
some basic UI components, such as pages, buttons, and entry fields. Part 4
|
some basic UI components, such as pages, buttons, and entry fields. Part 4
|
||||||
describes how to use the timeline and states to animate UI components.
|
describes how to use the timeline and states to animate UI components.
|
||||||
@@ -49,9 +49,9 @@
|
|||||||
These instructions build on:
|
These instructions build on:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l {Log In UI - Part 1}
|
\li \l {Log In UI - Components}
|
||||||
\li \l {Log In UI - Part 2}
|
\li \l {Log In UI - Positioning}
|
||||||
\li \l {Log In UI - Part 3}
|
\li \l {Log In UI - States}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
The \e {Learn More} sections provide additional information relevant to the
|
The \e {Learn More} sections provide additional information relevant to the
|
||||||
|
127
doc/qtdesignstudio/examples/loginui1/EntryField.ui.qml
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2021 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the examples of the Qt Design Studio.
|
||||||
|
**
|
||||||
|
** $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.15
|
||||||
|
import QtQuick.Controls 2.12
|
||||||
|
|
||||||
|
Button {
|
||||||
|
id: control
|
||||||
|
width: 500
|
||||||
|
height: 100
|
||||||
|
|
||||||
|
implicitWidth: Math.max(
|
||||||
|
buttonBackground ? buttonBackground.implicitWidth : 0,
|
||||||
|
textItem.implicitWidth + leftPadding + rightPadding)
|
||||||
|
implicitHeight: Math.max(
|
||||||
|
buttonBackground ? buttonBackground.implicitHeight : 0,
|
||||||
|
textItem.implicitHeight + topPadding + bottomPadding)
|
||||||
|
leftPadding: 4
|
||||||
|
rightPadding: 4
|
||||||
|
|
||||||
|
text: "My Button"
|
||||||
|
hoverEnabled: false
|
||||||
|
|
||||||
|
background: buttonBackground
|
||||||
|
Rectangle {
|
||||||
|
id: buttonBackground
|
||||||
|
color: "#00000000"
|
||||||
|
implicitWidth: 100
|
||||||
|
implicitHeight: 40
|
||||||
|
opacity: enabled ? 1 : 0.3
|
||||||
|
radius: 50
|
||||||
|
border.color: "#ffffff"
|
||||||
|
}
|
||||||
|
|
||||||
|
contentItem: textItem
|
||||||
|
Text {
|
||||||
|
id: textItem
|
||||||
|
text: control.text
|
||||||
|
font.pixelSize: 34
|
||||||
|
|
||||||
|
opacity: enabled ? 1.0 : 0.3
|
||||||
|
color: "#ffffff"
|
||||||
|
horizontalAlignment: Text.AlignLeft
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
leftPadding: 50
|
||||||
|
font.family: "Titillium Web ExtraLight"
|
||||||
|
}
|
||||||
|
|
||||||
|
states: [
|
||||||
|
State {
|
||||||
|
name: "normal"
|
||||||
|
when: !control.down
|
||||||
|
|
||||||
|
PropertyChanges {
|
||||||
|
target: textItem
|
||||||
|
font.family: "Titillium Web ExtraLight"
|
||||||
|
}
|
||||||
|
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonBackground
|
||||||
|
color: "#28e7e7e7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
State {
|
||||||
|
name: "down"
|
||||||
|
when: control.down
|
||||||
|
PropertyChanges {
|
||||||
|
target: textItem
|
||||||
|
color: "#ffffff"
|
||||||
|
}
|
||||||
|
|
||||||
|
PropertyChanges {
|
||||||
|
target: buttonBackground
|
||||||
|
color: "#e7e7e7"
|
||||||
|
border.color: "#ffffff"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 The Qt Company Ltd.
|
** Copyright (C) 2021 The Qt Company Ltd.
|
||||||
@@ -53,6 +54,8 @@ import QtQuick.Controls 2.12
|
|||||||
|
|
||||||
Button {
|
Button {
|
||||||
id: control
|
id: control
|
||||||
|
width: 500
|
||||||
|
height: 100
|
||||||
|
|
||||||
implicitWidth: Math.max(
|
implicitWidth: Math.max(
|
||||||
buttonBackground ? buttonBackground.implicitWidth : 0,
|
buttonBackground ? buttonBackground.implicitWidth : 0,
|
||||||
@@ -64,14 +67,16 @@ Button {
|
|||||||
rightPadding: 4
|
rightPadding: 4
|
||||||
|
|
||||||
text: "My Button"
|
text: "My Button"
|
||||||
|
hoverEnabled: false
|
||||||
|
|
||||||
background: buttonBackground
|
background: buttonBackground
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: buttonBackground
|
id: buttonBackground
|
||||||
|
color: "#00000000"
|
||||||
implicitWidth: 100
|
implicitWidth: 100
|
||||||
implicitHeight: 40
|
implicitHeight: 40
|
||||||
opacity: enabled ? 1 : 0.3
|
opacity: enabled ? 1 : 0.3
|
||||||
radius: 20
|
radius: 50
|
||||||
border.color: "#41cd52"
|
border.color: "#41cd52"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,11 +84,13 @@ Button {
|
|||||||
Text {
|
Text {
|
||||||
id: textItem
|
id: textItem
|
||||||
text: control.text
|
text: control.text
|
||||||
|
font.pixelSize: 34
|
||||||
|
|
||||||
opacity: enabled ? 1.0 : 0.3
|
opacity: enabled ? 1.0 : 0.3
|
||||||
|
color: "#41cd52"
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
font.bold: true
|
font.family: "Titillium Web ExtraLight"
|
||||||
}
|
}
|
||||||
|
|
||||||
states: [
|
states: [
|
||||||
@@ -93,7 +100,7 @@ Button {
|
|||||||
|
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: buttonBackground
|
target: buttonBackground
|
||||||
border.color: "#41cd52"
|
color: "#00000000"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
State {
|
State {
|
||||||
@@ -101,13 +108,20 @@ Button {
|
|||||||
when: control.down
|
when: control.down
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: textItem
|
target: textItem
|
||||||
color: "#41cd52"
|
color: "#ffffff"
|
||||||
}
|
}
|
||||||
|
|
||||||
PropertyChanges {
|
PropertyChanges {
|
||||||
target: buttonBackground
|
target: buttonBackground
|
||||||
border.color: "#41cd52"
|
color: "#41cd52"
|
||||||
|
border.color: "#00000000"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*##^##
|
||||||
|
Designer {
|
||||||
|
D{i:0;height:100;width:500}
|
||||||
|
}
|
||||||
|
##^##*/
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2019 The Qt Company Ltd.
|
** Copyright (C) 2021 The Qt Company Ltd.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
** This file is part of the examples of the Qt Design Studio.
|
** This file is part of the examples of the Qt Design Studio.
|
||||||
@@ -48,69 +49,76 @@
|
|||||||
** $QT_END_LICENSE$
|
** $QT_END_LICENSE$
|
||||||
**
|
**
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Studio.Components 1.0
|
import QtQuick.Controls
|
||||||
import QtQuick.Controls 2.15
|
|
||||||
import loginui1 1.0
|
import loginui1 1.0
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
color: "#ffffff"
|
width: Constants.width
|
||||||
gradient: Gradient {
|
height: Constants.height
|
||||||
GradientStop {
|
|
||||||
position: 0.5
|
|
||||||
color: "#ffffff"
|
|
||||||
}
|
|
||||||
|
|
||||||
GradientStop {
|
color: Constants.backgroundColor
|
||||||
position: 1
|
|
||||||
color: "#41cd52"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: pageTitle
|
|
||||||
x: 273
|
|
||||||
y: 33
|
|
||||||
text: qsTr("Qt Account")
|
|
||||||
font.pixelSize: 24
|
|
||||||
font.bold: true
|
|
||||||
font.weight: Font.ExtraBold
|
|
||||||
anchors.verticalCenterOffset: -180
|
|
||||||
anchors.horizontalCenterOffset: 0
|
|
||||||
anchors.centerIn: parent
|
|
||||||
font.family: Constants.font.family
|
|
||||||
}
|
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
id: logo
|
id: adventurePage
|
||||||
x: 8
|
x: 0
|
||||||
y: 19
|
y: 0
|
||||||
source: "qt_logo_green_64x64px.png"
|
source: "images/adventurePage.jpg"
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
}
|
}
|
||||||
|
|
||||||
PushButton {
|
Image {
|
||||||
id: loginButton
|
id: qt_logo_green_128x128px
|
||||||
x: 260
|
x: 296
|
||||||
y: 352
|
y: 40
|
||||||
width: 120
|
source: "images/qt_logo_green_128x128px.png"
|
||||||
height: 40
|
fillMode: Image.PreserveAspectFit
|
||||||
text: "Log In"
|
}
|
||||||
|
Text {
|
||||||
|
id: tagLine
|
||||||
|
width: 541
|
||||||
|
height: 78
|
||||||
|
color: "#ffffff"
|
||||||
|
text: qsTr("Are you ready to explore?")
|
||||||
|
font.pixelSize: 50
|
||||||
|
font.family: "Titillium Web ExtraLight"
|
||||||
|
anchors.verticalCenterOffset: -391
|
||||||
|
anchors.horizontalCenterOffset: 18
|
||||||
|
anchors.centerIn: parent
|
||||||
|
}
|
||||||
|
|
||||||
|
EntryField {
|
||||||
|
id: username
|
||||||
|
x: 128
|
||||||
|
y: 470
|
||||||
|
text: "Username or Email"
|
||||||
|
}
|
||||||
|
|
||||||
|
EntryField {
|
||||||
|
id: password
|
||||||
|
x: 128
|
||||||
|
y: 590
|
||||||
|
text: qsTr("Password")
|
||||||
}
|
}
|
||||||
|
|
||||||
PushButton {
|
PushButton {
|
||||||
id: registerButton
|
id: login
|
||||||
x: 260
|
x: 102
|
||||||
y: 398
|
y: 966
|
||||||
width: 120
|
text: qsTr("Continue")
|
||||||
height: 40
|
}
|
||||||
|
|
||||||
|
PushButton {
|
||||||
|
id: createAccount
|
||||||
|
x: 102
|
||||||
|
y: 1088
|
||||||
text: qsTr("Create Account")
|
text: qsTr("Create Account")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*##^##
|
/*##^##
|
||||||
Designer {
|
Designer {
|
||||||
D{i:0;autoSize:true;formeditorZoom:0.5;height:480;width:640}
|
D{i:0;formeditorZoom:0.33}
|
||||||
}
|
}
|
||||||
##^##*/
|
##^##*/
|
||||||
|
|
||||||
|
BIN
doc/qtdesignstudio/examples/loginui1/images/adventurePage.jpg
Normal file
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 3.4 KiB |
@@ -1,24 +1,23 @@
|
|||||||
pragma Singleton
|
pragma Singleton
|
||||||
import QtQuick 2.10
|
import QtQuick
|
||||||
|
|
||||||
QtObject {
|
QtObject {
|
||||||
readonly property int width: 1280
|
readonly property int width: 720
|
||||||
readonly property int height: 720
|
readonly property int height: 1280
|
||||||
|
|
||||||
readonly property FontLoader mySystemFont: FontLoader { name: "Arial" }
|
|
||||||
|
|
||||||
property alias fontDirectory: directoryFontLoader.fontDirectory
|
property alias fontDirectory: directoryFontLoader.fontDirectory
|
||||||
property alias relativeFontDirectory: directoryFontLoader.relativeFontDirectory
|
property alias relativeFontDirectory: directoryFontLoader.relativeFontDirectory
|
||||||
|
|
||||||
/* Edit this comment to add your custom font */
|
/* Edit this comment to add your custom font */
|
||||||
readonly property font font: Qt.font({
|
readonly property font font: Qt.font({
|
||||||
family: mySystemFont.name,
|
family: Qt.application.font.family,
|
||||||
pixelSize: Qt.application.font.pixelSize
|
pixelSize: Qt.application.font.pixelSize
|
||||||
})
|
})
|
||||||
readonly property font largeFont: Qt.font({
|
readonly property font largeFont: Qt.font({
|
||||||
family: mySystemFont.name,
|
family: Qt.application.font.family,
|
||||||
pixelSize: Qt.application.font.pixelSize * 1.6
|
pixelSize: Qt.application.font.pixelSize * 1.6
|
||||||
})
|
})
|
||||||
|
|
||||||
readonly property color backgroundColor: "#c2c2c2"
|
readonly property color backgroundColor: "#c2c2c2"
|
||||||
|
|
||||||
property DirectoryFontLoader directoryFontLoader: DirectoryFontLoader {
|
property DirectoryFontLoader directoryFontLoader: DirectoryFontLoader {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2020 The Qt Company Ltd.
|
** Copyright (C) 2021 The Qt Company Ltd.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
** This file is part of the examples of the Qt Design Studio.
|
** This file is part of the examples of the Qt Design Studio.
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
**
|
**
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.12
|
import QtQuick
|
||||||
import loginui1 1.0
|
import loginui1 1.0
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
@@ -57,4 +57,5 @@ Item {
|
|||||||
|
|
||||||
Screen01 {
|
Screen01 {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -37,6 +37,8 @@ Project {
|
|||||||
QT_AUTO_SCREEN_SCALE_FACTOR: "1"
|
QT_AUTO_SCREEN_SCALE_FACTOR: "1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qt6Project: true
|
||||||
|
|
||||||
/* List of plugin directories passed to QML runtime */
|
/* List of plugin directories passed to QML runtime */
|
||||||
importPaths: [ "imports", "asset_imports" ]
|
importPaths: [ "imports", "asset_imports" ]
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,3 +1,6 @@
|
|||||||
; This file can be edited to change the style of the application
|
; This file can be edited to change the style of the application
|
||||||
; Read "Qt Quick Controls 2 Configuration File" for details:
|
; Read "Qt Quick Controls 2 Configuration File" for details:
|
||||||
; https://doc.qt.io/qt/qtquickcontrols2-configuration.html
|
; http://doc.qt.io/qt-5/qtquickcontrols2-configuration.html
|
||||||
|
|
||||||
|
[Controls]
|
||||||
|
Style=Default
|
||||||
|
@@ -72,7 +72,7 @@
|
|||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
For an example of using the \uicontrol Button template to create a button
|
For an example of using the \uicontrol Button template to create a button
|
||||||
and styling it, see \l{Creating a Push Button} in the \l{Log In UI - Part 1}
|
and styling it, see \l{Creating a Push Button} in the \l{Log In UI - Components}
|
||||||
tutorial.
|
tutorial.
|
||||||
|
|
||||||
In addition, you can create starting points for different types of screens:
|
In addition, you can create starting points for different types of screens:
|
||||||
|
@@ -35,8 +35,9 @@
|
|||||||
You can follow a set of hands-on tutorials that build on each other to
|
You can follow a set of hands-on tutorials that build on each other to
|
||||||
illustrate how to use the features of \QDS. Even if you plan to export your
|
illustrate how to use the features of \QDS. Even if you plan to export your
|
||||||
designs from a design tool, it is useful to first create a small UI from
|
designs from a design tool, it is useful to first create a small UI from
|
||||||
scratch to learn to use \QDS. In particular, Part 1 describes the terms
|
scratch to learn to use \QDS. In particular, \e {Log In UI - Components}
|
||||||
and concepts that you will run into when exporting designs with \QB.
|
describes the terms and concepts that you will run into when exporting
|
||||||
|
designs with \QB.
|
||||||
|
|
||||||
Before you start, take a look at the following topics to familiarize
|
Before you start, take a look at the following topics to familiarize
|
||||||
yourself with the parts of \QDS in general, and the \uicontrol Design
|
yourself with the parts of \QDS in general, and the \uicontrol Design
|
||||||
|