2020-04-21 16:18:10 +02:00
|
|
|
/****************************************************************************
|
|
|
|
|
**
|
2021-01-21 12:02:02 +01:00
|
|
|
** Copyright (C) 2021 The Qt Company Ltd.
|
2020-04-21 16:18:10 +02:00
|
|
|
** 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.
|
|
|
|
|
**
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\page qtquick-form-editor.html
|
2021-02-19 10:37:32 +01:00
|
|
|
\previouspage creator-using-qt-quick-designer.html
|
|
|
|
|
\nextpage quick-library.html
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2021-02-19 10:37:32 +01:00
|
|
|
\title Form Editor
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2020-11-23 16:33:40 +01:00
|
|
|
You design applications in the \uicontrol {Form Editor} view by placing
|
2021-02-19 10:37:32 +01:00
|
|
|
\l{Component Types}{2D components} and \l{Assets}{assets} into it.
|
2020-11-23 16:33:40 +01:00
|
|
|
|
2020-05-07 16:29:34 +02:00
|
|
|
\image qmldesigner-form-editor.png "Form Editor view"
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
When you select components in \uicontrol {Form Editor}, markers appear
|
|
|
|
|
around their edges and in their corners. Depending on the shape of the
|
|
|
|
|
cursor, you can apply the following actions on the components by dragging
|
|
|
|
|
them:
|
|
|
|
|
|
|
|
|
|
\list
|
|
|
|
|
\li \l{Moving Components}{Move components}
|
|
|
|
|
\li \l{Resizing 2D Components}{Resize components}
|
|
|
|
|
\li \l{Rotating 2D Components}{Rotate components}
|
|
|
|
|
\endlist
|
|
|
|
|
|
|
|
|
|
\section1 Summary of Form Editor Buttons
|
2020-11-23 16:33:40 +01:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
The \uicontrol {Form Editor} toolbar contains the following buttons and
|
|
|
|
|
fields.
|
|
|
|
|
|
|
|
|
|
\table
|
|
|
|
|
\header
|
|
|
|
|
\li Button/Field
|
|
|
|
|
\li Tooltip
|
|
|
|
|
\li Read More
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage no_snapping.png
|
|
|
|
|
\li Disables snapping.
|
|
|
|
|
\li \l{Snapping to Parent and Sibling Components}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage snapping_and_anchoring.png
|
|
|
|
|
\li Anchors the component to the components that it is snapped to.
|
|
|
|
|
\li \l{Snapping to Parent and Sibling Components}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage snapping.png
|
|
|
|
|
\li Snaps components to their parent or sibling components when you
|
|
|
|
|
align them.
|
|
|
|
|
\li \l{Snapping to Parent and Sibling Components}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage boundingrect.png
|
|
|
|
|
\li Hides and shows component boundaries.
|
|
|
|
|
\li \l{Hiding Component Boundaries}
|
|
|
|
|
\row
|
|
|
|
|
\li \uicontrol {Override Width}
|
|
|
|
|
\li Shows a preview of the component using the specified width.
|
|
|
|
|
\li \l{Previewing Component Size}
|
|
|
|
|
\row
|
|
|
|
|
\li \uicontrol {Override Height}
|
|
|
|
|
\li Shows a preview of the component using the specified height.
|
|
|
|
|
\li \l{Previewing Component Size}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage icons/canvas-color.png
|
|
|
|
|
\li Sets the color of the \uicontrol {Form Editor} working area.
|
|
|
|
|
\li \l{Setting Canvas Color}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage icons/zoomIn.png
|
|
|
|
|
\li Zooms in.
|
|
|
|
|
\li \l{Zooming}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage icons/zoomOut.png
|
|
|
|
|
\li Zooms out.
|
|
|
|
|
\li \l{Zooming}
|
|
|
|
|
\row
|
|
|
|
|
\li Zoom level
|
|
|
|
|
\li Sets the zoom level that you select from the list.
|
|
|
|
|
\li \l{Zooming}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage icons/zoomAll.png
|
|
|
|
|
\li Zooms to fit all content.
|
|
|
|
|
\li \l{Zooming}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage icons/zoomSelection.png
|
|
|
|
|
\li Zooms to fit the current selection.
|
|
|
|
|
\li \l{Zooming}
|
|
|
|
|
\row
|
|
|
|
|
\li \inlineimage reset.png
|
|
|
|
|
\li Refreshes the contents of \uicontrol {Form Editor}.
|
|
|
|
|
\li \l{Refreshing Form Editor Contents}
|
|
|
|
|
\endtable
|
|
|
|
|
|
|
|
|
|
\section1 Moving Components
|
|
|
|
|
|
|
|
|
|
When the move cursor is displayed, you can move the selected component to
|
|
|
|
|
any position in \uicontrol {Form Editor}.
|
|
|
|
|
|
|
|
|
|
\image qmldesigner-form-editor-move-cursor.png "Move cursor in Form Editor view"
|
|
|
|
|
|
|
|
|
|
For more information about alternative ways of positioning components in
|
|
|
|
|
UIs, see \l{Positioning Items}.
|
|
|
|
|
|
|
|
|
|
\section1 Resizing 2D Components
|
|
|
|
|
|
|
|
|
|
When the resize cursor is displayed, you can drag the markers to resize
|
|
|
|
|
components.
|
2020-05-07 16:29:34 +02:00
|
|
|
|
2020-11-23 16:33:40 +01:00
|
|
|
\image qtquick-designer-scaling-items.png "Form Editor view"
|
2020-05-07 16:29:34 +02:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
To have the resizing done from the center of the selected component rather
|
|
|
|
|
than from its edges, press \key Alt (or the option key on \macos).
|
2020-05-07 16:29:34 +02:00
|
|
|
|
|
|
|
|
To preserve the image aspect ratio while resizing when using the corner
|
2021-02-24 17:16:39 +01:00
|
|
|
markers, press \key Shift. This also works on components that are anchored
|
2020-05-07 16:29:34 +02:00
|
|
|
using left, right, top, or bottom anchors.
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
To both resize from the center of the component and preserve the aspect
|
|
|
|
|
ratio, press \key Alt+Shift (or the option key + \key Shift on \macos).
|
|
|
|
|
|
|
|
|
|
For more information about alternative ways to specify the size of a
|
|
|
|
|
component in a UI, see \l{2D Geometry}.
|
2020-05-07 16:29:34 +02:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
\section1 Rotating 2D Components
|
2020-11-18 11:27:55 +01:00
|
|
|
|
2020-11-23 16:33:40 +01:00
|
|
|
When the rotation cursor \inlineimage icons/rotation-cursor.png
|
2021-02-24 17:16:39 +01:00
|
|
|
is displayed in one of the corners of a component, you can drag
|
|
|
|
|
clockwise or counter-clockwise to freely rotate the component around
|
|
|
|
|
its origin.
|
2020-11-18 11:27:55 +01:00
|
|
|
|
|
|
|
|
\image qtquick-designer-rotating-items.png "2D rotation tool"
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
Additionally, press \key Shift or \key Alt (or the option key on \macos)
|
|
|
|
|
to rotate components in steps of 5 or 45 degrees, respectively.
|
2020-11-18 11:27:55 +01:00
|
|
|
|
|
|
|
|
You can set the \l{Managing 2D Transformations}{origin} in the
|
|
|
|
|
\uicontrol Origin field in the \uicontrol Advanced tab in the
|
2021-02-24 17:16:39 +01:00
|
|
|
\l Properties view. There, you can also enter the value
|
2020-11-18 11:27:55 +01:00
|
|
|
of the \uicontrol Rotation property in degrees.
|
|
|
|
|
|
2021-01-21 12:02:02 +01:00
|
|
|
\section1 Zooming
|
|
|
|
|
|
|
|
|
|
You can use the zoom buttons on the toolbar to zoom into and out of
|
|
|
|
|
\uicontrol {Form Editor} or select the zoom level as a percentage
|
|
|
|
|
from a list. More buttons are availabe for zooming to fit all content
|
|
|
|
|
in the view or zooming to fit the currently selected components.
|
|
|
|
|
|
|
|
|
|
\image qmldesigner-zooming.gif "Zooming in Form Editor"
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
\section1 Snapping to Parent and Sibling Components
|
2021-01-21 12:02:02 +01:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
You can use snapping to align components in \uicontrol {Form Editor}.
|
|
|
|
|
Click the \inlineimage snapping.png
|
|
|
|
|
button to have the components snap to their parent or sibling components.
|
|
|
|
|
Snapping lines automatically appear to help you position the components.
|
2020-04-21 16:18:10 +02:00
|
|
|
Click the \inlineimage snapping_and_anchoring.png
|
2021-02-24 17:16:39 +01:00
|
|
|
button to anchor the component to the components that you snap to.
|
2020-11-23 16:33:40 +01:00
|
|
|
Only one snapping button can be selected at the time. Selecting
|
|
|
|
|
one snapping button automatically deselects the others.
|
2020-04-21 16:18:10 +02:00
|
|
|
|
|
|
|
|
Choose \uicontrol Tools > \uicontrol Options > \uicontrol {Qt Quick} >
|
2020-08-25 09:44:15 +02:00
|
|
|
\uicontrol {Qt Quick Designer} to specify settings for snapping. In the
|
2020-04-21 16:18:10 +02:00
|
|
|
\uicontrol {Parent item padding} field, specify the
|
2021-02-24 17:16:39 +01:00
|
|
|
distance in pixels between the parent component and the snapping lines. In
|
|
|
|
|
the \uicontrol {Sibling item spacing} field, specify the distance in pixels
|
|
|
|
|
between sibling components and the snapping lines.
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2020-11-23 16:33:40 +01:00
|
|
|
\image qtquick-designer-options.png "Qt Quick Designer options"
|
|
|
|
|
|
2020-04-21 16:18:10 +02:00
|
|
|
The following image shows the snapping lines (1) when
|
|
|
|
|
\uicontrol {Parent item padding} is set to 5 pixels.
|
|
|
|
|
|
|
|
|
|
\image qmldesigner-snap-margins.png "Snapping lines on canvas"
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
For alternative ways of aligning and distributing components by using the
|
|
|
|
|
\l Properties view, see \l{Aligning and Distributing Items}.
|
|
|
|
|
|
|
|
|
|
\section1 Hiding Component Boundaries
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
\uicontrol {Form Editor} displays the boundaries of components.
|
2020-04-21 16:18:10 +02:00
|
|
|
To hide them, select the \inlineimage boundingrect.png
|
|
|
|
|
button.
|
|
|
|
|
|
|
|
|
|
\section1 Previewing Component Size
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
The width and height of the root component in a UI file determine the size
|
|
|
|
|
of the component. You can reuse components, such as buttons, in different
|
|
|
|
|
sizes in other UI files and design UIs for use with different device
|
2020-04-21 16:18:10 +02:00
|
|
|
profiles, screen resolution, or screen orientation. The component size
|
2021-02-24 17:16:39 +01:00
|
|
|
might also be zero (0,0) if its final size is determined by
|
|
|
|
|
\l{Setting Bindings}{property bindings}.
|
2020-04-21 16:18:10 +02:00
|
|
|
|
|
|
|
|
To experiment with different component sizes, enter values in the
|
|
|
|
|
\uicontrol {Override Width} and \uicontrol {Override Height} fields (1) on
|
2021-02-24 17:16:39 +01:00
|
|
|
the toolbar. The changes are displayed in the \uicontrol {Form Editor}
|
2020-11-23 16:33:40 +01:00
|
|
|
view (2) and in the \uicontrol States view (3), but the property
|
2021-02-24 17:16:39 +01:00
|
|
|
values are not changed permanently in the UI file. You can permanently
|
2020-04-21 16:18:10 +02:00
|
|
|
change the property values in the \uicontrol Properties view (4).
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
\image qmldesigner-preview-size.png "Component width and height"
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
To set the initial size of the root component, select \uicontrol Tools >
|
2020-08-25 09:44:15 +02:00
|
|
|
\uicontrol Options > \uicontrol {Qt Quick} > \uicontrol {Qt Quick Designer} and
|
2021-02-24 17:16:39 +01:00
|
|
|
specify the component width and height in the \uicontrol {Root Item Init Size}
|
2020-05-07 16:39:36 +02:00
|
|
|
group.
|
|
|
|
|
|
2020-04-21 16:18:10 +02:00
|
|
|
\section1 Specifying Canvas Size
|
|
|
|
|
|
|
|
|
|
To change the canvas size, select \uicontrol Tools > \uicontrol Options >
|
2020-08-25 09:44:15 +02:00
|
|
|
\uicontrol {Qt Quick} > \uicontrol {Qt Quick Designer} and
|
2020-04-21 16:18:10 +02:00
|
|
|
specify the canvas width and height in the \uicontrol Canvas group.
|
|
|
|
|
|
2021-01-22 12:39:02 +01:00
|
|
|
\section1 Setting Canvas Color
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
If you set the background of the root component transparent, the color of
|
|
|
|
|
the working area can make it difficult to see the component you are working
|
2021-01-22 12:39:02 +01:00
|
|
|
on. To make components more visible, you can select the canvas color in
|
|
|
|
|
the \inlineimage icons/canvas-color.png
|
|
|
|
|
list. By default, the color is transparent. Setting the canvas color does
|
|
|
|
|
not affect the background color of your UI or components in any way.
|
|
|
|
|
|
|
|
|
|
\image qmldesigner-canvas-color.png "Transparent canvas color for a transparent component"
|
|
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
\section1 Refreshing Form Editor Contents
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2021-02-24 17:16:39 +01:00
|
|
|
When you open a UI file, the components in the file are drawn in
|
|
|
|
|
\uicontrol {Form Editor}. When you edit component properties in
|
|
|
|
|
\l Properties, the code and its representation in \uicontrol {Form Editor}
|
|
|
|
|
might get out of sync. For example, when you change the position of a
|
|
|
|
|
component within a column or a row, the new position might not be displayed
|
|
|
|
|
correctly in \uicontrol {Form Editor}.
|
2020-04-21 16:18:10 +02:00
|
|
|
|
2020-11-23 16:33:40 +01:00
|
|
|
To refresh the contents of \uicontrol {Form Editor}, press \key R or
|
2020-04-21 16:18:10 +02:00
|
|
|
select the \inlineimage reset.png
|
|
|
|
|
(\uicontrol {Reset View}) button.
|
|
|
|
|
|
2020-11-18 11:10:18 +01:00
|
|
|
\include qtquick-component-context-menu.qdocinc context-menu
|
2020-04-21 16:18:10 +02:00
|
|
|
*/
|