Merge remote-tracking branch 'origin/5.0'
Change-Id: Ia018600fb257c9523fc9d15faa5bd8300840e3de
@@ -52,20 +52,17 @@ find_package(Qt5
|
|||||||
)
|
)
|
||||||
if (Qt5_VERSION VERSION_LESS 6.0.0)
|
if (Qt5_VERSION VERSION_LESS 6.0.0)
|
||||||
install(TARGETS Qt6Core5Compat EXPORT QtCreator)
|
install(TARGETS Qt6Core5Compat EXPORT QtCreator)
|
||||||
set(BUILD_WITH_PCH_DEFAULT ON)
|
|
||||||
|
|
||||||
# Specify standards conformance mode to MSVC 2017 and later
|
# Specify standards conformance mode to MSVC 2017 and later
|
||||||
# Qt6 has the values as part of the Qt6::Platform target interface
|
# Qt6 has the values as part of the Qt6::Platform target interface
|
||||||
if (MSVC AND MSVC_VERSION GREATER_EQUAL 1910)
|
if (MSVC AND MSVC_VERSION GREATER_EQUAL 1910)
|
||||||
add_compile_options(/permissive- /Zc:__cplusplus)
|
add_compile_options(/permissive- /Zc:__cplusplus)
|
||||||
endif()
|
endif()
|
||||||
else()
|
|
||||||
set(BUILD_WITH_PCH_DEFAULT OFF)
|
|
||||||
endif()
|
endif()
|
||||||
find_package(Qt5 COMPONENTS LinguistTools QUIET)
|
find_package(Qt5 COMPONENTS LinguistTools QUIET)
|
||||||
find_package(Qt5 COMPONENTS Designer DesignerComponents Help SerialPort Svg Tools QUIET)
|
find_package(Qt5 COMPONENTS Designer DesignerComponents Help SerialPort Svg Tools QUIET)
|
||||||
|
|
||||||
option(BUILD_WITH_PCH "Build with precompiled headers" ${BUILD_WITH_PCH_DEFAULT})
|
option(BUILD_WITH_PCH "Build with precompiled headers" ON)
|
||||||
|
|
||||||
find_package(Threads)
|
find_package(Threads)
|
||||||
find_package(Clang QUIET)
|
find_package(Clang QUIET)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
if (CMAKE_VERSION VERSION_LESS 3.18)
|
if (CMAKE_VERSION VERSION_LESS 3.18)
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_VERSION VERSION_LESS 3.16)
|
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_VERSION VERSION_LESS 3.16)
|
||||||
set(BUILD_WITH_PCH OFF)
|
set(BUILD_WITH_PCH OFF CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
BIN
doc/qtcreator/images/icons/pause-icon.png
Normal file
After Width: | Height: | Size: 95 B |
BIN
doc/qtcreator/images/qtcreator-build-cmake-output.png
Normal file
After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 25 KiB |
BIN
doc/qtcreator/images/qtcreator-options-text-editor-display.png
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 8.5 KiB |
BIN
doc/qtcreator/images/qtquick-color-animation.gif
Normal file
After Width: | Height: | Size: 190 KiB |
BIN
doc/qtcreator/images/qtquick-number-animation.gif
Normal file
After Width: | Height: | Size: 177 KiB |
BIN
doc/qtcreator/images/qtquick-properties-animation.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
doc/qtcreator/images/qtquick-properties-coloranimation.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
doc/qtcreator/images/qtquick-properties-numberanimation.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
doc/qtcreator/images/qtquick-properties-propertyaction.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
doc/qtcreator/images/qtquick-property-action.gif
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
doc/qtcreator/images/timeline-rotation-animation.gif
Normal file
After Width: | Height: | Size: 249 KiB |
@@ -119,6 +119,26 @@
|
|||||||
|
|
||||||
\image qtcreator-build-run-options-cmake.png "CMake Build & Run options"
|
\image qtcreator-build-run-options-cmake.png "CMake Build & Run options"
|
||||||
|
|
||||||
|
\section1 Viewing CMake Output
|
||||||
|
|
||||||
|
Output from CMake is displayed next to the \uicontrol {Build Settings} and
|
||||||
|
\uicontrol {Run Settings} panes in the \uicontrol Projects mode.
|
||||||
|
|
||||||
|
\image qtcreator-build-cmake-output.png "CMake output in Projects mode"
|
||||||
|
|
||||||
|
To clear the search results, select the \inlineimage clean_pane_small.png
|
||||||
|
(\uicontrol Clear) button.
|
||||||
|
|
||||||
|
You can enter a string in the \uicontrol Filter field to filter output.
|
||||||
|
To specify filtering options, select the \inlineimage magnifier.png "Filtering options menu"
|
||||||
|
button. You can filter output by using regular expressions or
|
||||||
|
case-sensitivity. Select \uicontrol {Show Non-matching Lines} to
|
||||||
|
hide the lines that match the filter.
|
||||||
|
|
||||||
|
To increase or decrease the output text size, select \inlineimage plus.png
|
||||||
|
(\uicontrol {Zoom In}) or \inlineimage minus.png
|
||||||
|
(\uicontrol {Zoom Out}), or press \key Ctrl++ or \key Ctrl+-.
|
||||||
|
|
||||||
\section1 CMake Build Steps
|
\section1 CMake Build Steps
|
||||||
|
|
||||||
\QC builds CMake projects by running \c {cmake . --build}, which then runs
|
\QC builds CMake projects by running \c {cmake . --build}, which then runs
|
||||||
|
@@ -39,6 +39,14 @@
|
|||||||
\l{Specifying Breakpoint Settings}{specify settings for breakpoints},
|
\l{Specifying Breakpoint Settings}{specify settings for breakpoints},
|
||||||
and map source paths to target paths.
|
and map source paths to target paths.
|
||||||
|
|
||||||
|
You can view debug output in the \uicontrol {Debugger Log} view.
|
||||||
|
However, in some Linux distributions, such as Arch Linux, debug
|
||||||
|
output is sent to the system log. To override this behavior, select
|
||||||
|
the \uicontrol {Force logging to console} check box. This sets
|
||||||
|
\c QT_LOGGING_TO_CONSOLE=1 in the environment of the debugged
|
||||||
|
program, which effectively prevents storing debug output in
|
||||||
|
system logs.
|
||||||
|
|
||||||
\section2 Mapping Source Paths
|
\section2 Mapping Source Paths
|
||||||
|
|
||||||
To enable the debugger to step into the code and display the source code
|
To enable the debugger to step into the code and display the source code
|
||||||
|
@@ -220,6 +220,15 @@
|
|||||||
applications.
|
applications.
|
||||||
\li Select the \uicontrol {Break at "main"} check box to stop the
|
\li Select the \uicontrol {Break at "main"} check box to stop the
|
||||||
debugger at the main function.
|
debugger at the main function.
|
||||||
|
\li Select the \uicontrol {Use target extended-remote to connect}
|
||||||
|
check box to create the connection in the
|
||||||
|
\c {target extended-remote mode}. In this mode, when the debugged
|
||||||
|
application exits or you detach from it, the debugger remains
|
||||||
|
connected to the target. You can rerun the application, attach
|
||||||
|
to a running application, or use monitor commands specific to the
|
||||||
|
target. For example, GDB does not exit unless it was invoked using
|
||||||
|
the \c {--once} option, but you can make it exit by using the
|
||||||
|
\c {monitor exit} command.
|
||||||
\li In the \uicontrol {Override SysRoot} field, specify the path to
|
\li In the \uicontrol {Override SysRoot} field, specify the path to
|
||||||
the \c sysroot to use instead of the default \c sysroot.
|
the \c sysroot to use instead of the default \c sysroot.
|
||||||
\li In the \uicontrol {Debug information} field, specify the location
|
\li In the \uicontrol {Debug information} field, specify the location
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2018 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 Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -48,6 +48,29 @@
|
|||||||
\li Other text files
|
\li Other text files
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
To fix the indentation in the file currently open in the editor,
|
||||||
|
select options in the \uicontrol Edit > \uicontrol Advanced menu
|
||||||
|
or use \l{Keyboard Shortcuts}{keyboard shortcuts}:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li To automatically indent the highlighted text, select
|
||||||
|
\uicontrol {Auto-indent Selection} or press \key {Ctrl+I}.
|
||||||
|
\li To automatically format the highlighted text, select
|
||||||
|
\uicontrol {Auto-format Selection} or press \key {Ctrl+;}.
|
||||||
|
\li To adjust the wrapping of the selected paragraph, select
|
||||||
|
\uicontrol {Rewrap Paragraph} or press \key {Ctrl+E}
|
||||||
|
followed by \key R.
|
||||||
|
\li To toggle text wrapping, select \uicontrol {Enable Text Wrapping}
|
||||||
|
or press \key {Ctrl+E} followed by \key {Ctrl+W}.
|
||||||
|
\li To visualize whitespace in the editor, select
|
||||||
|
\uicontrol {Visualize Whitespace} or press \key {Ctrl+E}
|
||||||
|
followed by \key {Ctrl+V}.
|
||||||
|
\li To clear all whitespace characters from the currently open file,
|
||||||
|
select \uicontrol {Clean Whitespace}.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Specifying Indentation Settings
|
||||||
|
|
||||||
You can also specify indentation separately for each project. You can
|
You can also specify indentation separately for each project. You can
|
||||||
specify several sets of code style settings and easily switch between them.
|
specify several sets of code style settings and easily switch between them.
|
||||||
In addition, you can import and export code style settings.
|
In addition, you can import and export code style settings.
|
||||||
@@ -61,7 +84,20 @@
|
|||||||
|
|
||||||
\image qtcreator-options-text-editor-behavior.png "Text Editor Behavior options"
|
\image qtcreator-options-text-editor-behavior.png "Text Editor Behavior options"
|
||||||
|
|
||||||
|
To visualize whitespace in the editor, select \uicontrol Tools >
|
||||||
|
\uicontrol Options > \uicontrol {Text Editor} > \uicontrol Display >
|
||||||
|
\uicontrol {Visualize whitespace}.
|
||||||
|
|
||||||
|
\image qtcreator-options-text-editor-display.png "Text Editor Display options"
|
||||||
|
|
||||||
|
To help you keep line length at a particular number of characters, set the
|
||||||
|
number of characters in the \uicontrol {Display right margin at column}
|
||||||
|
field. To use a context-specific margin when available, select the
|
||||||
|
\uicontrol {Use context-specific margin} check box.
|
||||||
\if defined(qtcreator)
|
\if defined(qtcreator)
|
||||||
|
For example, the margin could be set by the \c ColumnLimit option of the
|
||||||
|
\l{Specifying Code Style Settings}{Clang Format plugin}.
|
||||||
|
|
||||||
\section1 Indenting C++ Files
|
\section1 Indenting C++ Files
|
||||||
|
|
||||||
To specify indentation settings for the C++ editor:
|
To specify indentation settings for the C++ editor:
|
||||||
|
@@ -184,10 +184,9 @@
|
|||||||
split view, select \uicontrol Window > \uicontrol {Remove All Splits} or
|
split view, select \uicontrol Window > \uicontrol {Remove All Splits} or
|
||||||
press \key {Ctrl+E, 1}.
|
press \key {Ctrl+E, 1}.
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\section1 Using Bookmarks
|
\section1 Using Bookmarks
|
||||||
|
|
||||||
To insert or delete a bookmark:
|
To insert or delete a bookmark in the \uicontrol Edit mode:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
|
|
||||||
@@ -245,7 +244,8 @@
|
|||||||
|
|
||||||
\section1 Moving to Symbol Definition or Declaration
|
\section1 Moving to Symbol Definition or Declaration
|
||||||
|
|
||||||
You can move directly to the definition or the declaration of a symbol by
|
You can move directly to the definition or the declaration of a symbol
|
||||||
|
in the \uicontrol Edit mode by
|
||||||
holding the \key Ctrl key and clicking the symbol. If you have multiple
|
holding the \key Ctrl key and clicking the symbol. If you have multiple
|
||||||
splits opened, you can open the link in the next split by holding \key Ctrl
|
splits opened, you can open the link in the next split by holding \key Ctrl
|
||||||
and \key Alt while clicking the symbol.
|
and \key Alt while clicking the symbol.
|
||||||
@@ -290,6 +290,7 @@
|
|||||||
\uicontrol {Open Corresponding Header/Source in Next Split}. You can also
|
\uicontrol {Open Corresponding Header/Source in Next Split}. You can also
|
||||||
press \key F4 or \key {Ctrl+E,F4}, respectively.
|
press \key F4 or \key {Ctrl+E,F4}, respectively.
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
\section1 Reparsing Externally Changed Files
|
\section1 Reparsing Externally Changed Files
|
||||||
|
|
||||||
If source files are modified from outside \QC, the opened files will be
|
If source files are modified from outside \QC, the opened files will be
|
||||||
|
@@ -139,11 +139,12 @@
|
|||||||
|
|
||||||
\li Executing shell commands (\c {!})
|
\li Executing shell commands (\c {!})
|
||||||
|
|
||||||
\li Executing version control system commands (\c {git}).
|
\li Executing version control system commands
|
||||||
\if defined(qtcreator)
|
\if defined(qtcreator)
|
||||||
For more information, see \l{Using Version Control Systems}
|
(\c {bzr}, \c {cvs}, \c {git}, \c {hg}, or \c {svn}).
|
||||||
|
For more information, see \l{Using Version Control Systems}.
|
||||||
\else
|
\else
|
||||||
For more information, see \l{Using Git}
|
(\c {git}). For more information, see \l{Using Git}.
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
\li Triggering menu items from the main menu (\c {t})
|
\li Triggering menu items from the main menu (\c {t})
|
||||||
|
@@ -571,6 +571,21 @@
|
|||||||
\endlist
|
\endlist
|
||||||
\li \c Q_PROPERTY
|
\li \c Q_PROPERTY
|
||||||
\row
|
\row
|
||||||
|
\li Generate Q_PROPERTY and Missing Members
|
||||||
|
\li Generates a Q_PROPERTY and adds missing members to it, as
|
||||||
|
described above.
|
||||||
|
\li Class member
|
||||||
|
\row
|
||||||
|
\li Generate Constant Q_PROPERTY and Missing Members
|
||||||
|
\li Generates a constant Q_PROPERTY and adds missing members
|
||||||
|
to it, as described above.
|
||||||
|
\li Class member
|
||||||
|
\row
|
||||||
|
\li Generate Q_PROPERTY and Missing Members with Reset Function
|
||||||
|
\li Generates a Q_PROPERTY and adds missing members to it, as
|
||||||
|
described above, but with an additional \c reset function.
|
||||||
|
\li Class member
|
||||||
|
\row
|
||||||
\li Apply Changes
|
\li Apply Changes
|
||||||
\li Keeps function declarations and definitions synchronized by
|
\li Keeps function declarations and definitions synchronized by
|
||||||
checking for the matching declaration or definition when you
|
checking for the matching declaration or definition when you
|
||||||
@@ -617,6 +632,19 @@
|
|||||||
\li Creates either both getter and setter member functions for
|
\li Creates either both getter and setter member functions for
|
||||||
member variables or only a getter or setter.
|
member variables or only a getter or setter.
|
||||||
\li Member variable in class definition
|
\li Member variable in class definition
|
||||||
|
\row
|
||||||
|
\li Generate Getter and Setter
|
||||||
|
\li Creates getter and setter member functions for a member
|
||||||
|
variable.
|
||||||
|
\li Member variable in class definition
|
||||||
|
\row
|
||||||
|
\li Generate Getter
|
||||||
|
\li Creates a getter member function for a member variable.
|
||||||
|
\li Member variable in class definition
|
||||||
|
\row
|
||||||
|
\li Generate Setter
|
||||||
|
\li Creates a setter member function for a member variable.
|
||||||
|
\li Member variable in class definition
|
||||||
\row
|
\row
|
||||||
\li Generate Constructor
|
\li Generate Constructor
|
||||||
\li Creates a constructor for a class.
|
\li Creates a constructor for a class.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2018 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 Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -56,16 +56,25 @@
|
|||||||
syntax definitions. \QC comes with most of the commonly used syntax files,
|
syntax definitions. \QC comes with most of the commonly used syntax files,
|
||||||
and you can download additional files. For more information about the
|
and you can download additional files. For more information about the
|
||||||
definition files, see
|
definition files, see
|
||||||
\l{https://docs.kde.org/stable5/en/applications/katepart/highlight.html}
|
\l{https://docs.kde.org/trunk5/en/kate/katepart/highlight.html}
|
||||||
{Working with Syntax Highlighting}.
|
{Working with Syntax Highlighting}.
|
||||||
|
|
||||||
Font attributes that a syntax definition file explicitly specifies, such as
|
Font attributes that a syntax definition file explicitly specifies, such as
|
||||||
bold, italic, underline, or strike through, are applied. Colors are applied
|
bold, italic, underline, or strike through, are applied. Colors are applied
|
||||||
if they are readable with \QC themes.
|
if they are readable with \QC themes.
|
||||||
|
|
||||||
|
If more than one highlight definition is available for the file that you
|
||||||
|
open for editing, the editor asks you to select the one to use. To save
|
||||||
|
the selection, select \uicontrol {Remember My Choice}. To reset the
|
||||||
|
remembered definitions, select \uicontrol Tools > \uicontrol Options >
|
||||||
|
\uicontrol {Text Editor} > \uicontrol {Generic Highlighter} >
|
||||||
|
\uicontrol {Reset Remembered Definitions}.
|
||||||
|
|
||||||
If the editor cannot find the highlight definition for a file that you open
|
If the editor cannot find the highlight definition for a file that you open
|
||||||
for editing, it prompts you to update the highlight definition files. Select
|
for editing, it prompts you to download additional highlight definition
|
||||||
\uicontrol {Update Definitions} to update the files.
|
files. Select \uicontrol {Download Definitions} to download the files.
|
||||||
|
Information about the downloaded files is displayed in the
|
||||||
|
\uicontrol {General Messages} \l{Viewing Output}{output pane}.
|
||||||
|
|
||||||
To suppress the message for a particular file pattern, select
|
To suppress the message for a particular file pattern, select
|
||||||
\uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor}
|
\uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor}
|
||||||
@@ -76,10 +85,9 @@
|
|||||||
|
|
||||||
If you have written your own syntax definition files, you
|
If you have written your own syntax definition files, you
|
||||||
can provide an additional definition search path in the
|
can provide an additional definition search path in the
|
||||||
\uicontrol {User Highlight Definition Files} field.
|
\uicontrol {User Highlight Definition Files} field. To
|
||||||
|
apply the changes you make to the definition files, select
|
||||||
To manually update the highlight definition files, select
|
\uicontrol {Reload Definitions}.
|
||||||
\uicontrol {Update Definitions}.
|
|
||||||
|
|
||||||
\section1 Highlighting and Folding Blocks
|
\section1 Highlighting and Folding Blocks
|
||||||
|
|
||||||
@@ -101,6 +109,8 @@
|
|||||||
\uicontrol {Text Editor} > \uicontrol Display >
|
\uicontrol {Text Editor} > \uicontrol Display >
|
||||||
\uicontrol {Display folding markers}. This option is enabled by default.
|
\uicontrol {Display folding markers}. This option is enabled by default.
|
||||||
|
|
||||||
|
\image qtcreator-options-text-editor-display.png "Text Editor Display options"
|
||||||
|
|
||||||
When the cursor is on a brace, the matching brace is animated by default. To
|
When the cursor is on a brace, the matching brace is animated by default. To
|
||||||
turn off the animation and just highlight the block and the braces, select
|
turn off the animation and just highlight the block and the braces, select
|
||||||
\uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor} >
|
\uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor} >
|
||||||
@@ -117,4 +127,6 @@
|
|||||||
\key {Ctrl+Alt+Shift+U}. To enable smart block selection, select
|
\key {Ctrl+Alt+Shift+U}. To enable smart block selection, select
|
||||||
\uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor} >
|
\uicontrol Tools > \uicontrol Options > \uicontrol {Text Editor} >
|
||||||
\uicontrol Behavior > \uicontrol {Enable smart selection changing}.
|
\uicontrol Behavior > \uicontrol {Enable smart selection changing}.
|
||||||
|
|
||||||
|
\image qtcreator-options-text-editor-behavior.png "Text Editor Behavior options"
|
||||||
*/
|
*/
|
||||||
|
@@ -148,7 +148,7 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-crashpad.html
|
\page creator-crashpad.html
|
||||||
\previouspage collecting-user-feedback.html
|
\previouspage collecting-user-feedback.html
|
||||||
\nextpage studio-help.html
|
\nextpage studio-packaging.html
|
||||||
|
|
||||||
\title Reporting Crashes
|
\title Reporting Crashes
|
||||||
|
|
||||||
|
@@ -1,47 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2020 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.
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\previouspage adding-plugins.html
|
|
||||||
\page creator-ui-best-practices.html
|
|
||||||
\nextpage creator-usability.html
|
|
||||||
|
|
||||||
\title Best Practices
|
|
||||||
|
|
||||||
Apply the best practices to ensure that the UIs you create work
|
|
||||||
efficiently on the intended platforms, such as mobile devices.
|
|
||||||
|
|
||||||
\list
|
|
||||||
\li \l {Optimizing Applications for Mobile Devices}
|
|
||||||
|
|
||||||
Guidelines to help you design and develop usable applications for
|
|
||||||
mobile devices with varying characteristics.
|
|
||||||
|
|
||||||
\li \l {Qt Quick Best Practices}
|
|
||||||
|
|
||||||
Guidelines describing the most efficient ways to use \QDS to
|
|
||||||
create UIs and scenes that run flawlessly on the intended platforms.
|
|
||||||
\endlist
|
|
||||||
*/
|
|
@@ -150,7 +150,6 @@
|
|||||||
\li \l{Creating Scalable Buttons and Borders}
|
\li \l{Creating Scalable Buttons and Borders}
|
||||||
\endlist
|
\endlist
|
||||||
\endlist
|
\endlist
|
||||||
\li \l{Creating Optimized 3D Scenes}
|
|
||||||
\li \l{Specifying Component Properties}
|
\li \l{Specifying Component Properties}
|
||||||
\li \l{Scalable Layouts}
|
\li \l{Scalable Layouts}
|
||||||
\li \l{Using Custom Fonts}
|
\li \l{Using Custom Fonts}
|
||||||
@@ -187,9 +186,14 @@
|
|||||||
\li \l{Motion Design}
|
\li \l{Motion Design}
|
||||||
\list
|
\list
|
||||||
\li \l{Introduction to Animation Techniques}
|
\li \l{Introduction to Animation Techniques}
|
||||||
\li \l{Creating Animations}
|
\li \l{Creating Timeline Animations}
|
||||||
\li \l{Editing Easing Curves}
|
\li \l{Editing Easing Curves}
|
||||||
\endlist
|
\li \l{Production Quality}
|
||||||
|
\li \l{Optimizing Designs}
|
||||||
|
\list
|
||||||
|
\li \l{Creating Optimized 3D Scenes}
|
||||||
|
\endlist
|
||||||
|
\endlist
|
||||||
\li \l {Browsing ISO 7000 Icons}
|
\li \l {Browsing ISO 7000 Icons}
|
||||||
\li \l {Converting UI Projects to Applications}
|
\li \l {Converting UI Projects to Applications}
|
||||||
\endlist
|
\endlist
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** 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 Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -52,6 +52,8 @@
|
|||||||
see \l{Commercial Features}.
|
see \l{Commercial Features}.
|
||||||
|
|
||||||
\table
|
\table
|
||||||
|
\row
|
||||||
|
\li {4,1} \b {\l{All Topics}}
|
||||||
\row
|
\row
|
||||||
\li \inlineimage front-gs.png
|
\li \inlineimage front-gs.png
|
||||||
\li \inlineimage front-projects.png
|
\li \inlineimage front-projects.png
|
||||||
@@ -77,7 +79,7 @@
|
|||||||
\list
|
\list
|
||||||
\li \l{Developing Qt Quick Applications}
|
\li \l{Developing Qt Quick Applications}
|
||||||
\li \l{Developing Widget Based Applications}
|
\li \l{Developing Widget Based Applications}
|
||||||
\li \l{Best Practices}
|
\li \l{Optimizing Applications for Mobile Devices}
|
||||||
\endlist
|
\endlist
|
||||||
\li \b {\l{Coding}}
|
\li \b {\l{Coding}}
|
||||||
\list
|
\list
|
||||||
@@ -125,20 +127,20 @@
|
|||||||
\li \l{Glossary}
|
\li \l{Glossary}
|
||||||
\endlist
|
\endlist
|
||||||
\row
|
\row
|
||||||
\li {4,1} \l{All Topics}
|
\li {4,1} \b {Contact Us}
|
||||||
\row
|
\list
|
||||||
\li {4,1} \note To report bugs and suggestions to the
|
\li To report bugs and suggestions to the
|
||||||
\l{https://bugreports.qt.io/}{Qt Project Bug Tracker},
|
\l{https://bugreports.qt.io/}{Qt Project Bug Tracker},
|
||||||
select \uicontrol Help > \uicontrol {Report Bug}.
|
select \uicontrol Help > \uicontrol {Report Bug}.
|
||||||
To copy and paste detailed information about your system to the
|
\li To copy and paste detailed information about your
|
||||||
bug report, select \uicontrol Help >
|
system to the bug report, select \uicontrol Help >
|
||||||
\uicontrol {System Information}.
|
\uicontrol {System Information}.
|
||||||
|
\li To join the \l{https://lists.qt-project.org/listinfo/qt-creator}
|
||||||
You can also join the \QC mailing list at:
|
{\QC mailing list} or \l{https://web.libera.chat/#qt-creator}
|
||||||
\l{http://lists.qt-project.org/mailman/listinfo/}
|
{#qt-creator} channel on Libera.Chat IRC, select
|
||||||
{lists.qt-project.org Mailing Lists}.
|
\uicontrol Help > \uicontrol Contact.
|
||||||
|
\li For credits and a list of third-party libraries, see
|
||||||
For credits and a list of third-party libraries, see
|
\l {Acknowledgements}.
|
||||||
\l {Acknowledgements}.
|
\endlist
|
||||||
\endtable
|
\endtable
|
||||||
*/
|
*/
|
||||||
|
@@ -65,7 +65,8 @@
|
|||||||
\li Add states to apply sets of changes to the property values of one
|
\li Add states to apply sets of changes to the property values of one
|
||||||
or several component instances in the \uicontrol States view.
|
or several component instances in the \uicontrol States view.
|
||||||
For more information, see \l{Adding States}.
|
For more information, see \l{Adding States}.
|
||||||
\li Animate the properties of component instances in the \uicontrol
|
\li Animate the properties of component instances in the
|
||||||
Timeline view. For more information, see \l{Creating Animations}.
|
\uicontrol Timeline view. For more information, see
|
||||||
|
\l{Creating Timeline Animations}.
|
||||||
\endlist
|
\endlist
|
||||||
*/
|
*/
|
||||||
|
@@ -392,7 +392,7 @@
|
|||||||
\section1 Selectors
|
\section1 Selectors
|
||||||
|
|
||||||
Qt Quick Controls offers a set of selector-like controls, such as sliders,
|
Qt Quick Controls offers a set of selector-like controls, such as sliders,
|
||||||
dial, sping box, combo box, and tumbler, for specific use cases. The
|
dial, spin box, combo box, and tumbler, for specific use cases. The
|
||||||
following sections contain guidelines for choosing the selector most
|
following sections contain guidelines for choosing the selector most
|
||||||
suitable for a use case.
|
suitable for a use case.
|
||||||
|
|
||||||
|
@@ -25,8 +25,12 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page studio-optimized-3d-scenes.html
|
\page studio-optimized-3d-scenes.html
|
||||||
\previouspage quick-scalable-image.html
|
\previouspage qtquick-optimizing-designs.html
|
||||||
\nextpage qtquick-properties.html
|
\if defined(qtdesignstudio)
|
||||||
|
\nextpage creator-coding.html
|
||||||
|
\else
|
||||||
|
\nextpage qtquick-iso-icon-browser.html
|
||||||
|
\endif
|
||||||
|
|
||||||
\title Creating Optimized 3D Scenes
|
\title Creating Optimized 3D Scenes
|
||||||
|
|
||||||
@@ -40,7 +44,12 @@
|
|||||||
|
|
||||||
\section1 The Optimal 3D Scene Example
|
\section1 The Optimal 3D Scene Example
|
||||||
|
|
||||||
The \l {Optimal 3D Scene} example features four versions of the same kitchen
|
\if defined(qtdesignstudio)
|
||||||
|
The \l {Optimal 3D Scene}
|
||||||
|
\else
|
||||||
|
The Optimal 3D Scene
|
||||||
|
\endif
|
||||||
|
example features four versions of the same kitchen
|
||||||
scene that have been created using different strategies: High, Low, Combined,
|
scene that have been created using different strategies: High, Low, Combined,
|
||||||
and Vertex Color. The High Scene includes a significantly higher number of
|
and Vertex Color. The High Scene includes a significantly higher number of
|
||||||
objects compared to the other versions of the scene. The Low, Combined and
|
objects compared to the other versions of the scene. The Low, Combined and
|
||||||
|
@@ -26,9 +26,12 @@
|
|||||||
/*!
|
/*!
|
||||||
\page quick-animation-overview.html
|
\page quick-animation-overview.html
|
||||||
\previouspage qtquick-motion-design.html
|
\previouspage qtquick-motion-design.html
|
||||||
|
\nextpage studio-timeline.html
|
||||||
|
|
||||||
\title Introduction to Animation Techniques
|
\title Introduction to Animation Techniques
|
||||||
|
|
||||||
|
\image timeline-rotation-animation.gif "Timeline animation of rotation and opacity"
|
||||||
|
|
||||||
\QDS supports the following types of animation techniques that are suitable
|
\QDS supports the following types of animation techniques that are suitable
|
||||||
for different purposes:
|
for different purposes:
|
||||||
|
|
||||||
@@ -207,8 +210,8 @@
|
|||||||
\section2 Programmatic Animation
|
\section2 Programmatic Animation
|
||||||
|
|
||||||
You can control property animation programmatically. Property animations
|
You can control property animation programmatically. Property animations
|
||||||
are created by binding \l{Animations}{Animation} components to property
|
are created by binding \uicontrol Animation components to property
|
||||||
values of component instances to gradually change the properties values
|
values of component instances to gradually change the property values
|
||||||
over time. The property animations apply smooth movement by interpolating
|
over time. The property animations apply smooth movement by interpolating
|
||||||
values between property value changes. They provide timing controls and
|
values between property value changes. They provide timing controls and
|
||||||
enable different interpolations through easing curves.
|
enable different interpolations through easing curves.
|
||||||
@@ -219,95 +222,42 @@
|
|||||||
|
|
||||||
You can create instances of preset animation components available in
|
You can create instances of preset animation components available in
|
||||||
\l Library > \uicontrol Components > \uicontrol {Default Components} >
|
\l Library > \uicontrol Components > \uicontrol {Default Components} >
|
||||||
\uicontrol Animation to create \l{Animations}{animations} depending on
|
\uicontrol Animation to create animations depending on the type of the
|
||||||
the type of the property that is to be animated and the behavior that
|
property and the behavior that you want.
|
||||||
you want.
|
|
||||||
|
For more information about \uicontrol Animation components and their
|
||||||
|
properties, see \l{Animations}.
|
||||||
|
|
||||||
\table
|
\table
|
||||||
\header
|
\header
|
||||||
\li Animation Type
|
\li Component
|
||||||
\li Use Case
|
\li Use Case
|
||||||
\row
|
\row
|
||||||
\li Property animation
|
\li \uicontrol {Property Animation}
|
||||||
\li Applying animation when the value of a property changes. Color
|
\li Applying animation when the value of a property changes. Color
|
||||||
and number animations are property animation types for specific
|
and number animations are property animation types for specific
|
||||||
purposes.
|
purposes.
|
||||||
\row
|
\row
|
||||||
\li Property action
|
\li \uicontrol {Property Action}
|
||||||
\li Setting non-animated property values during an animation.
|
\li Setting non-animated property values during an animation.
|
||||||
\row
|
\row
|
||||||
\li Color animation
|
\li \uicontrol {Color Animation}
|
||||||
\li Applying animation when a color value changes.
|
\li Applying animation when a color value changes.
|
||||||
\row
|
\row
|
||||||
\li Number animation
|
\li \uicontrol {Number Animation}
|
||||||
\li Applying animation when a numerical value changes.
|
\li Applying animation when a numerical value changes.
|
||||||
\row
|
\row
|
||||||
\li Parallel animation
|
\li \uicontrol {Parallel Animation}
|
||||||
\li Running animations in parallel.
|
\li Running animations in parallel.
|
||||||
\row
|
\row
|
||||||
\li Sequential Animation
|
\li \uicontrol {Sequential Animation}
|
||||||
\li Running animations sequentially.
|
\li Running animations sequentially.
|
||||||
\row
|
\row
|
||||||
\li Pause animation
|
\li \uicontrol {Pause Animation}
|
||||||
\li Creating a step in a sequential animation where nothing happens for
|
\li Creating a step in a sequential animation where nothing happens for
|
||||||
a specified duration.
|
a specified duration.
|
||||||
\row
|
\row
|
||||||
\li Script action
|
\li \uicontrol {Script Action}
|
||||||
\li Executing JavaScript during an animation.
|
\li Executing JavaScript during an animation.
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
\section3 Property Animation and Action
|
|
||||||
|
|
||||||
A property animation is applied when the value of a property changes.
|
|
||||||
|
|
||||||
To immediately change a property value during an animation without
|
|
||||||
animating the property change, use a property action instead. This
|
|
||||||
is useful for setting non-animated property values during an animation.
|
|
||||||
|
|
||||||
For example, you can use a sequential animation that contains two property
|
|
||||||
actions around a number animation to set the value of the opacity property
|
|
||||||
of an \l{Images}{Image} to \c 0.5, animate the width of the image, and then
|
|
||||||
set the opacity back to \c 1.
|
|
||||||
|
|
||||||
\section3 Color Animation
|
|
||||||
|
|
||||||
A color animation is a specialized property animation that defines an
|
|
||||||
animation to be applied when a color value changes.
|
|
||||||
|
|
||||||
For example, you can apply animation to the color property of a \l Rectangle
|
|
||||||
to change its value from its current color to another color over a period
|
|
||||||
of time specified in milliseconds.
|
|
||||||
|
|
||||||
\section3 Number Animation
|
|
||||||
|
|
||||||
A number animation is a specialized property animation that defines an
|
|
||||||
animation to be applied when a numerical value changes.
|
|
||||||
|
|
||||||
For example, you can apply animation to the x property of a \l Rectangle
|
|
||||||
to make it appear to move from its current position on the x axis to another
|
|
||||||
position over a period of time specified in milliseconds.
|
|
||||||
|
|
||||||
\section3 Parallel and Sequential Animation
|
|
||||||
|
|
||||||
Animations can run in parallel or in sequence. Parallel animations will
|
|
||||||
play a group of animations at the same time while sequential animations
|
|
||||||
play a group of animations in order, one after the other.
|
|
||||||
|
|
||||||
For example, a banner component may have several icons or slogans to
|
|
||||||
display, one after the other. The opacity property could change to
|
|
||||||
\c 1.0 denoting an opaque object. Using a sequential animation, the
|
|
||||||
opacity animations will play after the preceding animation finishes,
|
|
||||||
whereas a parallel animation will play the animations at the same time.
|
|
||||||
|
|
||||||
Once individual animations are placed into a group of parallel or sequential
|
|
||||||
animations, they can no longer be started and stopped independently. The
|
|
||||||
sequential or parallel animations must be started and stopped as a group.
|
|
||||||
|
|
||||||
\section3 Pause Animation
|
|
||||||
|
|
||||||
When used in a sequential animation, a pause animation is a step when
|
|
||||||
nothing happens, for a specified duration.
|
|
||||||
|
|
||||||
For example, you could specify a 500-millisecond animation sequence, with
|
|
||||||
a 100-millisecond pause between two animations.
|
|
||||||
*/
|
*/
|
||||||
|
@@ -34,43 +34,207 @@
|
|||||||
|
|
||||||
\title Animations
|
\title Animations
|
||||||
|
|
||||||
To create an animation, use an appropriate animation type for the type of
|
To create an animation, use the appropriate animation type for the property
|
||||||
the property that is to be animated, and apply the animation depending on
|
that is to be animated, and apply the animation depending on the type of
|
||||||
the type of behavior that is required.
|
behavior that is required.
|
||||||
|
|
||||||
You can drag and drop the following components from \l Library >
|
You can drag-and-drop animation components from \l Library >
|
||||||
\uicontrol Components > \uicontrol {Default Components} >
|
\uicontrol Components > \uicontrol {Default Components} >
|
||||||
\uicontrol Animation to \l Navigator or \l {Form Editor}:
|
\uicontrol Animation to \l Navigator or \l {Form Editor} to
|
||||||
|
create instances of them.
|
||||||
|
|
||||||
\list
|
You can achieve similar results by using different animation techniques.
|
||||||
\li \l [QML] {ColorAnimation}{Color Animation} is a specialized
|
For more information, see \l{Introduction to Animation Techniques}.
|
||||||
property animation that defines an animation to be applied when a
|
|
||||||
color value changes.
|
\section1 Applying Animation
|
||||||
\li \l [QML] {NumberAnimation}{Number Animation} is a specialized
|
|
||||||
property animation that defines an animation to be applied when a
|
A property animation is applied when the value of a property changes.
|
||||||
numerical value changes.
|
Color and number animations are property animation types for specific
|
||||||
\li \l [QML] {ParallelAnimation}{Parallel Animation} enables
|
purposes. Specify settings for animations in \l Properties >
|
||||||
animations to be run in parallel.
|
\uicontrol {Animation Targets}.
|
||||||
\li \l [QML] {PauseAnimation}{Pause Animation} is used in a
|
|
||||||
sequential animation to create a step where nothing happens, for
|
\section2 Animating Color Changes
|
||||||
|
|
||||||
|
For example, you can apply animation to the value of the \uicontrol Color
|
||||||
|
property of an instance of a \l Rectangle component to change its value
|
||||||
|
from its current color to another color over a period of time specified in
|
||||||
|
milliseconds.
|
||||||
|
|
||||||
|
\image qtquick-color-animation.gif "Color animation"
|
||||||
|
|
||||||
|
First create an instance of the \uicontrol {Color Animation} component.
|
||||||
|
Select the component to animate in the \uicontrol Target field, and enter
|
||||||
|
the property to animate in the \uicontrol Property field. To animate several
|
||||||
|
properties, enter them into the \uicontrol Properties field separated by
|
||||||
|
commas.
|
||||||
|
|
||||||
|
\image qtquick-properties-coloranimation.png "Color Animation properties"
|
||||||
|
|
||||||
|
Select the original color in the \uicontrol {From color} field and the new
|
||||||
|
color in the \uicontrol {To color} field. Specify the duration of the
|
||||||
|
animation in the \uicontrol Duration field.
|
||||||
|
|
||||||
|
\section2 Animating Changes in Numerical Values
|
||||||
|
|
||||||
|
Similarly, to apply animation when a numerical value of a property changes,
|
||||||
|
create an instance of the \uicontrol {Number Animation} component.
|
||||||
|
|
||||||
|
\image qtquick-properties-numberanimation.png "Number Animation properties"
|
||||||
|
|
||||||
|
Select the original value in the \uicontrol From field and the new value in
|
||||||
|
the \uicontrol To field. Then specify the duration of the animation in the
|
||||||
|
\uicontrol Duration field.
|
||||||
|
|
||||||
|
For example, you can apply animation to the value of the \uicontrol X
|
||||||
|
property of a \l Rectangle instance to make it appear to move from its
|
||||||
|
current position on the x axis to another position over a period of time
|
||||||
|
specified in milliseconds. To make the component appear to move both on
|
||||||
|
the x and y axis, enter x and y into the \uicontrol Properties field
|
||||||
|
separated by a comma.
|
||||||
|
|
||||||
|
\image qtquick-number-animation.gif "Number animation"
|
||||||
|
|
||||||
|
\section2 Setting Non-Animated Properties
|
||||||
|
|
||||||
|
To immediately change a property value during an animation
|
||||||
|
without animating the property change, create an instance
|
||||||
|
of the \uicontrol {Property Action} component instead, and
|
||||||
|
set the value in the \uicontrol Value field. This is useful
|
||||||
|
for setting non-animated property values during an animation.
|
||||||
|
|
||||||
|
\image qtquick-properties-propertyaction.png "Property Action properties"
|
||||||
|
|
||||||
|
For example, you can create an instance of the
|
||||||
|
\uicontrol {Sequential Animation} component that contains two instances
|
||||||
|
of the \uicontrol {Property Action} component around an instance of the
|
||||||
|
\uicontrol {Number Animation} component. The first property action sets
|
||||||
|
the \uicontrol Opacity property of a \l{Rectangle} to \c 0.5, the number
|
||||||
|
animation changes the width of the image, and the second property action
|
||||||
|
sets the opacity back to \c 1.
|
||||||
|
|
||||||
|
\image qtquick-property-action.gif "Sequential property actions and number animation"
|
||||||
|
|
||||||
|
\section1 Playing Animations
|
||||||
|
|
||||||
|
Specify settings for playing animations in the \uicontrol Animation group.
|
||||||
|
|
||||||
|
\image qtquick-properties-animation.png "Animation properties"
|
||||||
|
|
||||||
|
To run animations automatically, select the \uicontrol Running
|
||||||
|
check box. Animations are run for the time you specify in the
|
||||||
|
\uicontrol Duration field.
|
||||||
|
|
||||||
|
You can connect the running property of an animation to a signal emitted
|
||||||
|
by a component to play the animation when users click a button, for
|
||||||
|
example. For more information, see \l{Connecting Components to Signals}.
|
||||||
|
|
||||||
|
To run animations several times in a loop, set the number of times they
|
||||||
|
should play in the \uicontrol Loops field. Set the value to -1 to have
|
||||||
|
the animation continuously repeat until it is explicitly stopped.
|
||||||
|
|
||||||
|
To specify that animations should run to completion when they are stopped,
|
||||||
|
select the \uicontrol {Run to end} check box. This behavior is most useful
|
||||||
|
when the \uicontrol Loops property is set, as the animation will finish
|
||||||
|
playing normally but not restart.
|
||||||
|
|
||||||
|
All animations defined for a component are run in parallel,
|
||||||
|
unless you include them in a \uicontrol {Parallel Animation} or
|
||||||
|
\uicontrol {Sequential Animation} component for managing them as a
|
||||||
|
group.
|
||||||
|
|
||||||
|
To pause animations, select the \inlineimage icons/pause-icon.png
|
||||||
|
(\uicontrol Paused) check box.
|
||||||
|
|
||||||
|
To attach an \l{Editing Easing Curves}{easing curve} to
|
||||||
|
the animation, select the \inlineimage curve_editor.png
|
||||||
|
(\uicontrol {Easing Curve Editor}) button in the
|
||||||
|
\uicontrol {Easing Curve} field.
|
||||||
|
|
||||||
|
\section2 Playing Groups of Animations
|
||||||
|
|
||||||
|
You can create several animations that can run in parallel or in sequence.
|
||||||
|
To manage a group of animations that will play at the same time, create an
|
||||||
|
instance of a \uicontrol {Parallel Animation} component and drag-and-drop
|
||||||
|
the other animations to it. To play the animations in the specified order,
|
||||||
|
one after the other, create an instance of a
|
||||||
|
\uicontrol {Sequential Animation} instead.
|
||||||
|
|
||||||
|
For example, a banner component may have several icons or slogans to
|
||||||
|
display, one after the other. The value of the \uicontrol Opacity property
|
||||||
|
could change to \c 1.0 denoting an opaque object. Using a sequential
|
||||||
|
animation, each opacity animation will play after the preceding animation
|
||||||
|
finishes, whereas using a parallel animation will play the animations at
|
||||||
|
the same time.
|
||||||
|
|
||||||
|
Once individual animations are placed into a group of parallel or sequential
|
||||||
|
animations, they can no longer be started and stopped independently. The
|
||||||
|
sequential or parallel animations must be started and stopped as a group.
|
||||||
|
|
||||||
|
When used in a \uicontrol {Sequential Animation}, a
|
||||||
|
\uicontrol {Pause Animation} is a step when nothing
|
||||||
|
happens, for a specified duration. To specify a pause
|
||||||
|
between two animations, select the \uicontrol Paused
|
||||||
|
check box and specify the duration of the pause in the
|
||||||
|
\uicontrol Duration field.
|
||||||
|
|
||||||
|
\section1 Performance Considerations
|
||||||
|
|
||||||
|
\QDS enables you to use fluidity and dynamic transitions as well as visual
|
||||||
|
effects to great effect in a UI. However, you need to take some care when
|
||||||
|
using some of the supported features because they can affect the
|
||||||
|
performance of the UI.
|
||||||
|
|
||||||
|
In general, animating a property will cause any bindings which reference
|
||||||
|
that property to be re-evaluated. Usually, this is what is desired, but in
|
||||||
|
some cases it may be better to disable the binding prior to performing
|
||||||
|
the animation and then reassign the binding once the animation has
|
||||||
|
completed.
|
||||||
|
|
||||||
|
Avoid running JavaScript during animation. For example, running a complex
|
||||||
|
JavaScript expression for each frame of an x property animation should be
|
||||||
|
avoided.
|
||||||
|
|
||||||
|
Take special care when creating instances of the \uicontrol {Script Action}
|
||||||
|
component because script animations are run in the main thread and can
|
||||||
|
therefore cause frames to be skipped if they take too long to complete.
|
||||||
|
|
||||||
|
\section1 Summary of Animation Components
|
||||||
|
|
||||||
|
The following table lists the components that you can use to animate
|
||||||
|
component properties programmatically. They are available in \l Library
|
||||||
|
> \uicontrol Components > \uicontrol {Default Components} >
|
||||||
|
\uicontrol Animation
|
||||||
|
|
||||||
|
\table
|
||||||
|
\header
|
||||||
|
\li Component
|
||||||
|
\li Use Case
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Property Animation}
|
||||||
|
\li Applying animation when the value of a property changes. Color
|
||||||
|
and number animations are property animation types for specific
|
||||||
|
purposes.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Property Action}
|
||||||
|
\li Setting non-animated property values during an animation.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Color Animation}
|
||||||
|
\li Applying animation when a color value changes.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Number Animation}
|
||||||
|
\li Applying animation when a numerical value changes.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Parallel Animation}
|
||||||
|
\li Running animations in parallel.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Sequential Animation}
|
||||||
|
\li Running animations sequentially.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Pause Animation}
|
||||||
|
\li Creating a step in a sequential animation where nothing happens for
|
||||||
a specified duration.
|
a specified duration.
|
||||||
\li \l [QML] {PropertyAction}{Property Action} immediately changes
|
\row
|
||||||
a property value during an animation, without animating the
|
\li \uicontrol {Script Action}
|
||||||
property change.
|
\li Executing JavaScript during an animation.
|
||||||
\li \l [QML] {PropertyAnimation}{Property Animation} animates
|
\endtable
|
||||||
changes in the value of a property.
|
|
||||||
\li \l [QML] {ScriptAction}{Script Action} defines scripts to be
|
|
||||||
run during an animation.
|
|
||||||
\li \l [QML] {SequentialAnimation}{Sequential Animation} enables
|
|
||||||
animations to be run sequentially.
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
For more information about using the components, see
|
|
||||||
\l{Animation and Transitions in Qt Quick}.
|
|
||||||
|
|
||||||
For more information about animating properties in the \l Timeline
|
|
||||||
view, see \l{Creating Animations}. For more information about animating
|
|
||||||
property changes in states, see \l{Animating Transitions Between States}.
|
|
||||||
|
|
||||||
//! [qtquick animation types]
|
|
||||||
*/
|
*/
|
||||||
|
@@ -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 Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
\nextpage qtquick-prototyping.html
|
\nextpage qtquick-prototyping.html
|
||||||
\else
|
\else
|
||||||
\previouspage qtquick-fonts.html
|
\previouspage qtquick-fonts.html
|
||||||
\nextpage qtquick-ui-forms.html
|
\nextpage creator-quick-ui-forms.html
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
\title Annotating Designs
|
\title Annotating Designs
|
||||||
|
@@ -110,7 +110,7 @@
|
|||||||
\li \l Timeline
|
\li \l Timeline
|
||||||
\li Provides a timeline and keyframe based editor for animating
|
\li Provides a timeline and keyframe based editor for animating
|
||||||
the properties of components.
|
the properties of components.
|
||||||
\li \l{Creating Animations}
|
\li \l{Creating Timeline Animations}
|
||||||
\row
|
\row
|
||||||
\li \l{Curve Editor}
|
\li \l{Curve Editor}
|
||||||
\li Enables you to view and modify the whole animation curve by
|
\li Enables you to view and modify the whole animation curve by
|
||||||
|
@@ -26,14 +26,28 @@
|
|||||||
/*!
|
/*!
|
||||||
\page qtquick-editing-easing-curves.html
|
\page qtquick-editing-easing-curves.html
|
||||||
\previouspage studio-timeline.html
|
\previouspage studio-timeline.html
|
||||||
\nextpage qmldesigner-connections.html
|
\nextpage qtquick-production-quality-animation.html
|
||||||
|
|
||||||
\title Editing Easing Curves
|
\title Editing Easing Curves
|
||||||
|
|
||||||
You can use \uicontrol {Easing Curve Editor} to edit the easing curve
|
Easing curves define the progress of animation to make motion appear more
|
||||||
between two keyframes.
|
natural because real objects don't usually move at a constant speed nor
|
||||||
|
start and stop instantly. You can add and edit easing curves for nonlinear
|
||||||
|
interpolation to make components appear to pick up speed, slow down, or
|
||||||
|
bounce back at the end of an animation.
|
||||||
|
|
||||||
\image studio-easing-curve-editor.png "Easing Curve Editor"
|
You can attach easing curves to:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Keyframes in timeline animations
|
||||||
|
\li Transitions
|
||||||
|
\li Property animation component instances
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
You can use \uicontrol {Easing Curve Editor} to select and edit easing
|
||||||
|
curves.
|
||||||
|
|
||||||
|
\section1 Selecting Easing Curves
|
||||||
|
|
||||||
You can use the preset curves or modify them by dragging the curve handles
|
You can use the preset curves or modify them by dragging the curve handles
|
||||||
around. You can add points to the curve and drag them and the point handles
|
around. You can add points to the curve and drag them and the point handles
|
||||||
@@ -41,13 +55,28 @@
|
|||||||
a custom curve. For more information about easing curve types, see the
|
a custom curve. For more information about easing curve types, see the
|
||||||
technical documentation for \l [QML] {PropertyAnimation}{easing curves}.
|
technical documentation for \l [QML] {PropertyAnimation}{easing curves}.
|
||||||
|
|
||||||
|
\image studio-easing-curve-editor.png "Easing Curve Editor"
|
||||||
|
|
||||||
|
To select an easing curve:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select an easing curve in the \uicontrol Presets tab.
|
||||||
|
\li In the \uicontrol {Duration (ms)} field, select the
|
||||||
|
duration of the easing function in milliseconds.
|
||||||
|
\li Select \uicontrol Preview to preview the curve.
|
||||||
|
\li Select \uicontrol OK to attach the easing curve and
|
||||||
|
return to the view where you are adding the curve.
|
||||||
|
\endlist
|
||||||
|
|
||||||
To zoom into and out of the easing curve editor, use the mouse
|
To zoom into and out of the easing curve editor, use the mouse
|
||||||
roller. To reset the zoom factor, right-click in the picker and
|
roller. To reset the zoom factor, right-click in the picker and
|
||||||
select \uicontrol {Reset Zoom}.
|
select \uicontrol {Reset Zoom}.
|
||||||
|
|
||||||
You can also use the more advanced \l {Curve Editor} that
|
\section1 Easing Curves in Timeline Animations
|
||||||
shows the interpolated values of an animated property over
|
|
||||||
the \l{Creating Animations}{animation} range.
|
For timeline animations, you can also use the more advanced
|
||||||
|
\l {Curve Editor} that shows the interpolated values of an animated
|
||||||
|
property over the \l{Creating Timeline Animations}{animation} range.
|
||||||
|
|
||||||
The animation curves present a more readable view of the animation by
|
The animation curves present a more readable view of the animation by
|
||||||
showing the effective values of the animated properties over the animation
|
showing the effective values of the animated properties over the animation
|
||||||
@@ -61,20 +90,14 @@
|
|||||||
and are therefore painted in a different color and without handles.
|
and are therefore painted in a different color and without handles.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\section1 Attaching Easing Curves to Keyframes
|
\section2 Attaching Easing Curves to Keyframes
|
||||||
|
|
||||||
To attach easing curves to keyframes:
|
To attach easing curves to keyframes:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
\li Right-click a keyframe in \l Timeline and select
|
\li Right-click a keyframe in \l Timeline and select
|
||||||
\uicontrol {Easing Curve Editor} in the context menu.
|
\uicontrol {Easing Curve Editor} in the context menu.
|
||||||
\li Select an easing curve in the \uicontrol Presets tab.
|
\li Select an easing curve, as described in \l{Selecting Easing Curves}.
|
||||||
\li In the \uicontrol {Duration (ms)} field, select the
|
|
||||||
duration of the easing function in milliseconds.
|
|
||||||
\li Select \uicontrol Preview to preview the curve.
|
|
||||||
\li Select \uicontrol OK to attach the easing curve to the
|
|
||||||
keyframe, close \uicontrol {Easing Curve Editor}, and
|
|
||||||
return to \l Timeline.
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
When you attach easing curves to keyframes, the shape of the
|
When you attach easing curves to keyframes, the shape of the
|
||||||
@@ -82,6 +105,28 @@
|
|||||||
\l Timeline changes from \inlineimage keyframe_linear_inactive.png
|
\l Timeline changes from \inlineimage keyframe_linear_inactive.png
|
||||||
to a marker that describes the type of the selected easing curve.
|
to a marker that describes the type of the selected easing curve.
|
||||||
|
|
||||||
|
\section1 Attaching Easing Curves to Transitions
|
||||||
|
|
||||||
|
To attach easing curves to transitions:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li In \l{Transition Editor}, select the \inlineimage curve_editor.png
|
||||||
|
(\uicontrol {Easing Curve Editor}) button.
|
||||||
|
\li Select an easing curve, as described in \l{Selecting Easing Curves}.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Attaching Easing Curves to Property Animations
|
||||||
|
|
||||||
|
To attach easing curves to property animations:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li In \l Navigator, select an \l{Animations}{Animation} component
|
||||||
|
instance.
|
||||||
|
\li In \l Properties, select the \inlineimage curve_editor.png
|
||||||
|
(\uicontrol {Easing Curve Editor}) button.
|
||||||
|
\li Select an easing curve, as described in \l{Selecting Easing Curves}.
|
||||||
|
\endlist
|
||||||
|
|
||||||
\section1 Customizing Easing Curves
|
\section1 Customizing Easing Curves
|
||||||
|
|
||||||
To customize easing curves:
|
To customize easing curves:
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page qtquick-fonts.html
|
\page qtquick-fonts.html
|
||||||
\if defined{qtdesignstudio}
|
\if defined(qtdesignstudio)
|
||||||
\previouspage studio-importing-2d.html
|
\previouspage studio-importing-2d.html
|
||||||
\nextpage studio-importing-3d.html
|
\nextpage studio-importing-3d.html
|
||||||
\else
|
\else
|
||||||
|
@@ -30,10 +30,15 @@
|
|||||||
|
|
||||||
\title Motion Design
|
\title Motion Design
|
||||||
|
|
||||||
You can use different animation techniques for different purposes. \QDS
|
\table
|
||||||
supports common motion design techniques, such as timeline and keyframe
|
\row
|
||||||
based animation and easing curves, as well as screen-to-screen or
|
\li \image studio-animation.png
|
||||||
state-to-state application flows and data-driven UI logic animation.
|
\li You can use different animation techniques for different
|
||||||
|
purposes. \QDS supports common motion design techniques,
|
||||||
|
such as timeline and keyframe based animation and easing
|
||||||
|
curves, as well as screen-to-screen or state-to-state
|
||||||
|
application flows and data-driven UI logic animation.
|
||||||
|
\endtable
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l {Introduction to Animation Techniques}
|
\li \l {Introduction to Animation Techniques}
|
||||||
@@ -41,21 +46,28 @@
|
|||||||
Learn more about which animation techniques are supported by \QDS
|
Learn more about which animation techniques are supported by \QDS
|
||||||
and the use cases they are most suitable for.
|
and the use cases they are most suitable for.
|
||||||
|
|
||||||
\li \l {Creating Animations}
|
\li \l {Creating Timeline Animations}
|
||||||
|
|
||||||
You can use a timeline and keyframe based editor in the
|
You can use a timeline and keyframe based editor in the
|
||||||
\uicontrol Timeline view to animate the properties of UI
|
\l Timeline view to animate the properties of UI
|
||||||
components. Animating properties enables their values to
|
components. Animating properties enables their values to
|
||||||
move through intermediate values at specified keyframes
|
move through intermediate values at specified keyframes
|
||||||
instead of immediately changing to the target value.
|
instead of immediately changing to the target value.
|
||||||
\li Production Quality (TODO)
|
\li \l{Editing Easing Curves}
|
||||||
|
|
||||||
After the wireframing and prototyping phases, you can use the
|
Specify easing curves for nonlinear interpolation between
|
||||||
supported motion design techniques to fine-tune your UI for
|
keyframes in timeline animations, as well as between original
|
||||||
production.
|
and new property values in property animations and between
|
||||||
\li Optimizing for Target Devices (TODO)
|
transitions.
|
||||||
|
\li \l {Production Quality}
|
||||||
|
|
||||||
|
After the wireframing and prototyping phases, you can use previewing
|
||||||
|
and profiling tools to fine-tune your UI for production.
|
||||||
|
\li \l{Optimizing Designs}
|
||||||
|
|
||||||
You can test your UIs on the target devices to make sure you get
|
You can test your UIs on the target devices to make sure you get
|
||||||
the best performance out of your animations.
|
the best performance out of your animations. To solve performance
|
||||||
|
problems, you typically need to optimize the graphical assets used
|
||||||
|
in the UI, such as images, effects, or 3D scenes.
|
||||||
\endlist
|
\endlist
|
||||||
*/
|
*/
|
||||||
|
72
doc/qtcreator/src/qtquick/qtquick-optimizing-designs.qdoc
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2021 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page qtquick-optimizing-designs.html
|
||||||
|
\previouspage qtquick-production-quality-animation.html
|
||||||
|
\nextpage studio-optimized-3d-scenes.html
|
||||||
|
|
||||||
|
\title Optimizing Designs
|
||||||
|
|
||||||
|
You can test your UIs on the target devices to make sure you get the best
|
||||||
|
performance out of your animations. To solve performance problems, you
|
||||||
|
typically need to optimize the graphical assets used in the UI, such as
|
||||||
|
images, effects, or 3D scenes.
|
||||||
|
|
||||||
|
How to optimize UIs for different target devices:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Minimize image size
|
||||||
|
\li Use transparency sparingly
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
For more useful information for application developers, see
|
||||||
|
\l {Performance Considerations And Suggestions}.
|
||||||
|
|
||||||
|
For more information about optimizing 3D scenes, see
|
||||||
|
\l{Creating Optimized 3D Scenes}.
|
||||||
|
|
||||||
|
\section1 Minimizing Image Size
|
||||||
|
|
||||||
|
Images are a vital part of any user interface. Unfortunately, they are also
|
||||||
|
a big source of problems due to the time it takes to load them, the amount
|
||||||
|
of memory they consume, and the way in which they are used.
|
||||||
|
|
||||||
|
We recommend that you make image size as small as possible without
|
||||||
|
negatively affecting image quality.
|
||||||
|
|
||||||
|
For more information about how to use images efficiently in your UI, see
|
||||||
|
\l{Images}.
|
||||||
|
|
||||||
|
\section1 Avoid Transparency
|
||||||
|
|
||||||
|
Opaque content is generally a lot faster to draw than transparent because
|
||||||
|
the latter needs blending and the renderer can potentially optimize opaque
|
||||||
|
content better.
|
||||||
|
|
||||||
|
An image with one transparent pixel is treated as fully transparent, even
|
||||||
|
though it is mostly opaque. The same is true for a \l {Border Image} with
|
||||||
|
transparent edges.
|
||||||
|
*/
|
@@ -0,0 +1,91 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2021 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page qtquick-production-quality-animation.html
|
||||||
|
\previouspage qtquick-editing-easing-curves.html
|
||||||
|
\nextpage qtquick-optimizing-designs.html
|
||||||
|
|
||||||
|
\title Production Quality
|
||||||
|
|
||||||
|
After the wireframing and prototyping phases, you can use previewing and
|
||||||
|
profiling tools to fine-tune your UI for production.
|
||||||
|
|
||||||
|
How to achieve production quality motion in UIs:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Preview the UI to check the FPS refresh rate.
|
||||||
|
\li Profile the UI code to find causes for slowness, unresponsiveness,
|
||||||
|
and stuttering.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 FPS Refresh Rate
|
||||||
|
|
||||||
|
As a general rule, animators strive to allow the rendering engine to
|
||||||
|
achieve a consistent 60 frames-per-second (FPS) refresh rate. 60 FPS
|
||||||
|
means that there is approximately 16 milliseconds between each frame
|
||||||
|
in which processing can be done, which includes the processing required
|
||||||
|
to upload the draw primitives to the graphics hardware.
|
||||||
|
|
||||||
|
The frames-per-second (FPS) refresh rate of animations is displayed in the
|
||||||
|
\uicontrol FPS field on the \l{Summary of Main Toolbar Actions}{toolbar}
|
||||||
|
in the \uicontrol Design mode.
|
||||||
|
|
||||||
|
To improve the FPS rate, application developers should:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Use asynchronous, event-driven programming wherever possible.
|
||||||
|
\li Use worker threads to do significant processing.
|
||||||
|
\li Never manually spin the event loop.
|
||||||
|
\li Never spend more than a couple of milliseconds per frame within
|
||||||
|
blocking functions to avoid skipped frames, which negatively
|
||||||
|
affect the user experience.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
For more information about previewing UIs on devices, see
|
||||||
|
\l{Validating with Target Hardware}.
|
||||||
|
|
||||||
|
\section1 Profiling UI Code
|
||||||
|
|
||||||
|
You can use \l{Profiling QML Applications}{QML Profiler} that is integrated
|
||||||
|
into \QC to find causes for typical performance problems in your UI. For
|
||||||
|
example, your UI might be slow, unresponsive, or stuttering. Typically, such
|
||||||
|
problems are caused by executing too much JavaScript in too few frames. All
|
||||||
|
JavaScript must return before the GUI thread can proceed, and frames are
|
||||||
|
delayed or dropped if the GUI thread is not ready.
|
||||||
|
|
||||||
|
In general, knowing where time is spent in a UI enables you to focus on
|
||||||
|
problem areas that actually exist, rather than problem areas that
|
||||||
|
potentially exist.
|
||||||
|
|
||||||
|
Determining which bindings are being run the most often or which functions
|
||||||
|
your application is spending the most time on enables you to decide whether
|
||||||
|
you need to optimize the problem areas, or redesign some implementation
|
||||||
|
details of your application so that the performance is improved. Attempting
|
||||||
|
to optimize code without profiling is likely to result in very minor rather
|
||||||
|
than significant performance improvements.
|
||||||
|
|
||||||
|
For more information, see \l{Profiling QML Applications}.
|
||||||
|
*/
|
@@ -132,7 +132,7 @@
|
|||||||
Changing a component's opacity does not affect whether the component
|
Changing a component's opacity does not affect whether the component
|
||||||
receives user input events.
|
receives user input events.
|
||||||
|
|
||||||
You can \l{Creating Animations}{animate} the opacity value to make a
|
You can \l{Creating Timeline Animations}{animate} the opacity value to make a
|
||||||
component fade in and out.
|
component fade in and out.
|
||||||
|
|
||||||
If the \uicontrol Clip check box is selected, the component and its children
|
If the \uicontrol Clip check box is selected, the component and its children
|
||||||
|
@@ -147,9 +147,11 @@
|
|||||||
when: control.pressed || control.checked && !control.hovered
|
when: control.pressed || control.checked && !control.hovered
|
||||||
\endcode
|
\endcode
|
||||||
|
|
||||||
|
\if defined(qtdesignstudio)
|
||||||
If you are not familiar with writing expressions, you can use preset
|
If you are not familiar with writing expressions, you can use preset
|
||||||
\l{Logic Helpers}{logic helpers} from \l Library > \uicontrol Components
|
\l{Logic Helpers}{logic helpers} from \l Library > \uicontrol Components
|
||||||
> \uicontrol {Qt Quick Studio Logic Helper}.
|
> \uicontrol {Qt Quick Studio Logic Helper}.
|
||||||
|
\endif
|
||||||
|
|
||||||
\section1 Using States
|
\section1 Using States
|
||||||
|
|
||||||
|
@@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
|
|
||||||
For more information about creating timeline animations, see
|
For more information about creating timeline animations, see
|
||||||
\l{Creating Animations}.
|
\l{Creating Timeline Animations}.
|
||||||
|
|
||||||
\section1 Navigating in Timeline
|
\section1 Navigating in Timeline
|
||||||
|
|
||||||
|
@@ -24,12 +24,15 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\previouspage qtquick-adding-dynamics.html
|
\previouspage quick-animation-overview.html
|
||||||
\page studio-timeline.html
|
\page studio-timeline.html
|
||||||
\nextpage qmldesigner-connections.html
|
\nextpage qtquick-editing-easing-curves.html
|
||||||
|
|
||||||
\title Creating Animations
|
\title Creating Timeline Animations
|
||||||
|
|
||||||
|
You can create timeline and keyframe based animations for linear
|
||||||
|
interpolation through intermediate values at specified keyframes
|
||||||
|
instead of immediately changing to the target value.
|
||||||
|
|
||||||
\section1 Creating Timelines
|
\section1 Creating Timelines
|
||||||
|
|
||||||
|
@@ -32,8 +32,8 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-vcs-git.html
|
\page creator-vcs-git.html
|
||||||
\if defined(qtdesignstudio)
|
\if defined(qtdesignstudio)
|
||||||
\previouspage studio-projects.html
|
\previouspage studio-packaging.html
|
||||||
\nextpage studio-importing-designs.html
|
\nextpage quick-converting-ui-projects.html
|
||||||
\else
|
\else
|
||||||
\previouspage creator-vcs-cvs.html
|
\previouspage creator-vcs-cvs.html
|
||||||
\nextpage creator-vcs-mercurial.html
|
\nextpage creator-vcs-mercurial.html
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
/*!
|
/*!
|
||||||
\previouspage creator-using-qt-designer.html
|
\previouspage creator-using-qt-designer.html
|
||||||
\page adding-plugins.html
|
\page adding-plugins.html
|
||||||
\nextpage creator-ui-best-practices.html
|
\nextpage creator-usability.html
|
||||||
|
|
||||||
\title Adding Qt Designer Plugins
|
\title Adding Qt Designer Plugins
|
||||||
|
|
||||||
|
@@ -141,7 +141,8 @@
|
|||||||
When we deselect the record button to stop recording the timeline, the
|
When we deselect the record button to stop recording the timeline, the
|
||||||
new timeline appears in the view.
|
new timeline appears in the view.
|
||||||
|
|
||||||
For more information about using the timeline, see \l {Creating Animations}.
|
For more information about using the timeline, see
|
||||||
|
\l {Creating Timeline Animations}.
|
||||||
|
|
||||||
\section1 Using States to Move Between Screens
|
\section1 Using States to Move Between Screens
|
||||||
|
|
||||||
|
@@ -89,7 +89,8 @@
|
|||||||
to fade out the current screen when moving to another one and to make the
|
to fade out the current screen when moving to another one and to make the
|
||||||
speedometer grow and shrink in size depending on its current position.
|
speedometer grow and shrink in size depending on its current position.
|
||||||
|
|
||||||
For more information about using the timeline, see \l {Creating Animations}.
|
For more information about using the timeline, see
|
||||||
|
\l {Creating Timeline Animations}.
|
||||||
|
|
||||||
\section1 Using States to Move Between Screens
|
\section1 Using States to Move Between Screens
|
||||||
|
|
||||||
|
@@ -40,10 +40,11 @@
|
|||||||
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.
|
||||||
|
|
||||||
In Part 3, you learned how to use states to simulate page changes in a UI
|
In Part 3, you learned how to use states to simulate page changes
|
||||||
and connections to provide user interaction with it. In Part 4, you will now
|
in a UI and connections to provide user interaction with it. In
|
||||||
learn another way of animating the UI by creating \l{Creating Animations}
|
Part 4, you will now learn another way of animating the UI by creating
|
||||||
{timeline animations} that you bind to states.
|
\l{Creating Timeline Animations}{timeline animations} that you bind
|
||||||
|
to states.
|
||||||
|
|
||||||
These instructions build on:
|
These instructions build on:
|
||||||
|
|
||||||
@@ -128,7 +129,7 @@
|
|||||||
|
|
||||||
\section2 Adding a Timeline and Animation Settings
|
\section2 Adding a Timeline and Animation Settings
|
||||||
|
|
||||||
You are now ready to add the \l{Creating Animations}{timeline}. You will
|
You are now ready to add the \l{Creating Timeline Animations}{timeline}. You will
|
||||||
need two animations, one for moving into the registration page and another
|
need two animations, one for moving into the registration page and another
|
||||||
for returning to the login page. You can use the same animation for both
|
for returning to the login page. You can use the same animation for both
|
||||||
cases, by running it either from the beginning to the end or from the
|
cases, by running it either from the beginning to the end or from the
|
||||||
@@ -314,7 +315,7 @@
|
|||||||
All the properties and functions of the components from this module are
|
All the properties and functions of the components from this module are
|
||||||
available in the \uicontrol Design mode, and therefore it is enough to
|
available in the \uicontrol Design mode, and therefore it is enough to
|
||||||
learn how to use \uicontrol Timeline, as described in
|
learn how to use \uicontrol Timeline, as described in
|
||||||
\l {Creating Animations}.
|
\l {Creating Timeline Animations}.
|
||||||
|
|
||||||
\section1 Next Steps
|
\section1 Next Steps
|
||||||
|
|
||||||
|
@@ -82,7 +82,8 @@
|
|||||||
changing color. To animate the label and indicator, we'll add timelines
|
changing color. To animate the label and indicator, we'll add timelines
|
||||||
in the \l Timeline view.
|
in the \l Timeline view.
|
||||||
|
|
||||||
For more information about using the timeline, see \l {Creating Animations}.
|
For more information about using the timeline, see
|
||||||
|
\l {Creating Timeline Animations}.
|
||||||
|
|
||||||
\section2 Adding Color Animation
|
\section2 Adding Color Animation
|
||||||
|
|
||||||
|
@@ -185,7 +185,8 @@
|
|||||||
apply when the animation finishes. In the lower part of the
|
apply when the animation finishes. In the lower part of the
|
||||||
dialog, we bind the states that don't have animations to fixed frames.
|
dialog, we bind the states that don't have animations to fixed frames.
|
||||||
|
|
||||||
For more information about using the timeline, see \l {Creating Animations}.
|
For more information about using the timeline, see
|
||||||
|
\l {Creating Timeline Animations}.
|
||||||
|
|
||||||
\section1 Connecting the Burger Menu to Actions
|
\section1 Connecting the Burger Menu to Actions
|
||||||
|
|
||||||
|
@@ -48,8 +48,9 @@
|
|||||||
Users select buttons to navigate between the screens.
|
Users select buttons to navigate between the screens.
|
||||||
We use \l{Connecting Components to Signals}{connections} to determine which
|
We use \l{Connecting Components to Signals}{connections} to determine which
|
||||||
screen to open when users select a particular button and \l{Adding States}
|
screen to open when users select a particular button and \l{Adding States}
|
||||||
{states} to show the screens. We use the \l{Creating Animations}{timeline}
|
{states} to show the screens. We use the \l{Creating Timeline Animations}
|
||||||
to create progress indicators for buttons and the \e Running screen.
|
{timeline} to create progress indicators for buttons and the \e Running
|
||||||
|
screen.
|
||||||
|
|
||||||
In addition, all screens contain a small clock component that displays
|
In addition, all screens contain a small clock component that displays
|
||||||
the current time. We implement a \e TimeDate JavaScript object to
|
the current time. We implement a \e TimeDate JavaScript object to
|
||||||
|
@@ -191,5 +191,6 @@
|
|||||||
|
|
||||||
\image webinardemo-timeline.png "Popup animations in the Timeline view"
|
\image webinardemo-timeline.png "Popup animations in the Timeline view"
|
||||||
|
|
||||||
For more information about using the timeline, see \l {Creating Animations}.
|
For more information about using the timeline, see
|
||||||
|
\l {Creating Timeline Animations}.
|
||||||
*/
|
*/
|
||||||
|
BIN
doc/qtdesignstudio/images/studio-add-resources.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
@@ -94,7 +94,7 @@
|
|||||||
Yes, you can create custom components and controls by using wizard templates
|
Yes, you can create custom components and controls by using wizard templates
|
||||||
or move component instances into separate files to turn them into new
|
or move component instances into separate files to turn them into new
|
||||||
components that you can create instances of. For more information, see
|
components that you can create instances of. For more information, see
|
||||||
\l {Creating Components}.
|
\l {Components}.
|
||||||
|
|
||||||
\section2 What are the 3D import formats for \QDS?
|
\section2 What are the 3D import formats for \QDS?
|
||||||
|
|
||||||
|
72
doc/qtdesignstudio/src/qtdesignstudio-packaging.qdoc
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2021 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page studio-packaging.html
|
||||||
|
\previouspage creator-crashpad.html
|
||||||
|
\nextpage creator-vcs-git.html
|
||||||
|
|
||||||
|
\title Packaging Applications
|
||||||
|
|
||||||
|
When you are ready to deliver your application to users or upload it to
|
||||||
|
app stores, you can use \QDS to create suitable packages that contain all
|
||||||
|
the necessary files, such as fonts, images, components, and modules.
|
||||||
|
|
||||||
|
\section1 Adding Resources to Packages
|
||||||
|
|
||||||
|
\QDS supports the \e{Qt Resource System} (QRC), which is a
|
||||||
|
platform-independent mechanism for storing files in the application's
|
||||||
|
executable. This is useful if your application always needs a certain
|
||||||
|
set of files (icons, translation files, and so on) and you don't want
|
||||||
|
to run the risk of losing the files.
|
||||||
|
|
||||||
|
To package your application, select \uicontrol Build >
|
||||||
|
\uicontrol {Generate QRC Resource File}. Then select the
|
||||||
|
files to package in the \uicontrol {Add Resources} dialog.
|
||||||
|
|
||||||
|
\image studio-add-resources.png "Add Resources dialog"
|
||||||
|
|
||||||
|
The dialog displays all the files listed in the project file (.qmlproject)
|
||||||
|
and located in the project folder. Files that are listed in the project
|
||||||
|
file are marked with bold text in the UI, to make it easy to identify the
|
||||||
|
differences between the project file and the resource collection file.
|
||||||
|
|
||||||
|
When you select \uicontrol OK, \QDS creates a resource collection file
|
||||||
|
(.qrc) in the project folder.
|
||||||
|
|
||||||
|
If you remove files from the project that you already added to the
|
||||||
|
resource collection file, you can recreate the resource collection
|
||||||
|
file to remove them also from there.
|
||||||
|
|
||||||
|
\section1 Embedding Resources into Applications
|
||||||
|
|
||||||
|
Alternatively, you can embedd the resources into your application by
|
||||||
|
selecting \uicontrol Build > \uicontrol {Generate RCC Resource File}.
|
||||||
|
Select the location for the .qmlrc file, and then select the files to
|
||||||
|
embedd in the \uicontrol {Add Resources} dialog.
|
||||||
|
|
||||||
|
When you select \uicontrol OK, \QDS creates a resource collection file
|
||||||
|
(.qmlrc) in the location you selected.
|
||||||
|
*/
|
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** 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 Qt Design Studio documentation.
|
** This file is part of the Qt Design Studio documentation.
|
||||||
@@ -58,7 +58,8 @@
|
|||||||
\QB is available for the following design tools:
|
\QB is available for the following design tools:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li Adobe Photoshop version 20.0.0
|
\li Adobe Photoshop version 22.3.1
|
||||||
\li Sketch 55.1
|
\li Figma version 97.x
|
||||||
|
\li Sketch version 72.2
|
||||||
\endlist
|
\endlist
|
||||||
*/
|
*/
|
||||||
|
@@ -34,18 +34,28 @@
|
|||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l{glossary-asset}{Asset}
|
\li \l{glossary-asset}{Asset}
|
||||||
|
\li \l{glossary-binding}{Binding}
|
||||||
\li \l{glossary-component}{Component}
|
\li \l{glossary-component}{Component}
|
||||||
|
\li \l{glossary-connection}{Connection}
|
||||||
\li \l{glossary-device}{Device}
|
\li \l{glossary-device}{Device}
|
||||||
\li \l{glossary-Project}{Project}
|
\li \l{glossary-mode}{Mode}
|
||||||
|
\li \l{glossary-project}{Project}
|
||||||
|
\li \l{glossary-property}{Property}
|
||||||
|
\li \l{glossary-signal}{Signal}
|
||||||
|
\li \l{glossary-state}{State}
|
||||||
|
\li \l{glossary-transition}{Transition}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\section1 Asset
|
\section1 Asset
|
||||||
\target glossary-asset
|
\target glossary-asset
|
||||||
|
|
||||||
An \e asset is an image, font file, 3D model, or other supported file that
|
An \e asset is an image, font file, 3D model, or other supported file that
|
||||||
you add to your \e project.
|
you add to your \l{glossary-project}{project}.
|
||||||
|
|
||||||
Assets are packaged with \e components for delivery to users.
|
\image qtquick-assets-tab.png "Assets in Library"
|
||||||
|
|
||||||
|
Assets are packaged with \l{glossary-component}{components} for delivery
|
||||||
|
to users.
|
||||||
|
|
||||||
Read more about assets:
|
Read more about assets:
|
||||||
|
|
||||||
@@ -53,6 +63,34 @@
|
|||||||
\li \l{Assets}
|
\li \l{Assets}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\section1 Binding
|
||||||
|
\target glossary-binding
|
||||||
|
|
||||||
|
A \e binding is a declarative way of specifying the value of a
|
||||||
|
\l{glossary-property}{property}. Binding allows a property value
|
||||||
|
to be expressed as a JavaScript expression that defines the value
|
||||||
|
relative to other property values or data accessible in the
|
||||||
|
application. The property value is automatically updated if the
|
||||||
|
other properties or data values change.
|
||||||
|
|
||||||
|
At its simplest, a binding may be a reference to another property. For
|
||||||
|
example, the height of a \l{glossary-component}{component} can be bound
|
||||||
|
to the height of its parent, so that when the parent height changes, the
|
||||||
|
component height is adjusted automatically. Similarly, the opacity of a
|
||||||
|
component can be bound to the opacity of its parent component.
|
||||||
|
|
||||||
|
\image qtquick-connection-editor-assignment.png "Binding Editor"
|
||||||
|
|
||||||
|
Property bindings are created implicitly whenever a property is assigned a
|
||||||
|
JavaScript expression.
|
||||||
|
|
||||||
|
Read more about bindings:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{Adding Bindings Between Properties}
|
||||||
|
\li \l{Setting Bindings}
|
||||||
|
\endlist
|
||||||
|
|
||||||
\section1 Component
|
\section1 Component
|
||||||
\target glossary-component
|
\target glossary-component
|
||||||
|
|
||||||
@@ -62,14 +100,17 @@
|
|||||||
creating instances of them. These are similar to \e Symbols in Sketch or
|
creating instances of them. These are similar to \e Symbols in Sketch or
|
||||||
\e Prefab in Unity.
|
\e Prefab in Unity.
|
||||||
|
|
||||||
|
\image qtquick-components-tab.png "Preset components in Library"
|
||||||
|
|
||||||
Some of the \l {Component Types}{preset components} represent simple shapes,
|
Some of the \l {Component Types}{preset components} represent simple shapes,
|
||||||
text, or images, while others represent complex UI controls with full
|
text, or images, while others represent complex UI controls with full
|
||||||
functionality, such as spin boxes or sliders. You can also add instances of
|
functionality, such as spin boxes or sliders. You can also add instances of
|
||||||
preset \l {Using 3D Components}{3D components} to your UIs. You can find all
|
preset \l {3D Components}{3D components} to your UIs. You can find all
|
||||||
the preset components in \l Library.
|
the preset components in \l Library.
|
||||||
|
|
||||||
To build \l {Creating Component Instances}{your own components}, you can
|
To build \l {Creating Component Instances}{your own components}, you can
|
||||||
modify the \e properties of the component instances and combine them.
|
modify the \l{glossary-property}{properties} of the component instances
|
||||||
|
and combine them.
|
||||||
|
|
||||||
A component is specified within one file (with the file extension
|
A component is specified within one file (with the file extension
|
||||||
\e ui.qml or \e .qml). For example, a Button component may be defined
|
\e ui.qml or \e .qml). For example, a Button component may be defined
|
||||||
@@ -87,6 +128,24 @@
|
|||||||
\li \l {Creating Custom Components}
|
\li \l {Creating Custom Components}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\section1 Connection
|
||||||
|
\target glossary-connection
|
||||||
|
|
||||||
|
A \e connection can be created between a \l{glossary-component}{component}
|
||||||
|
and \l{glossary-signal}{signal} to determine how the UI should react to
|
||||||
|
application events. Another way to create connections between components
|
||||||
|
is to create \l{glossary-binding}{bindings} between the values of their
|
||||||
|
\l{glossary-property}{properties}.
|
||||||
|
|
||||||
|
\image qmldesigner-connections.png "Connection View"
|
||||||
|
|
||||||
|
Read more about connections:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{Connection View}
|
||||||
|
\li \l{Adding Connections}
|
||||||
|
\endlist
|
||||||
|
|
||||||
\section1 Device
|
\section1 Device
|
||||||
\target glossary-device
|
\target glossary-device
|
||||||
|
|
||||||
@@ -98,24 +157,138 @@
|
|||||||
\li \l{Previewing on Devices}
|
\li \l{Previewing on Devices}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\section1 Mode
|
||||||
|
\target glossary-mode
|
||||||
|
|
||||||
|
A \e mode adapts the \QDS UI to the different UI design
|
||||||
|
tasks at hand. Each mode has its own view that shows only the information
|
||||||
|
required for performing a particular task, and provides only the most
|
||||||
|
relevant features and functions related to it. As a result, the majority
|
||||||
|
of the \QDS window area is always dedicated to the actual task.
|
||||||
|
|
||||||
|
For a designer, the most important modes are \uicontrol Design for the
|
||||||
|
actual work, \uicontrol Welcome for opening examples and tutorials, and
|
||||||
|
\uicontrol Help for reading documentation. The other modes are mostly
|
||||||
|
needed for application development.
|
||||||
|
|
||||||
|
\image studio-design-mode.png "Design mode"
|
||||||
|
|
||||||
|
Read more about modes:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{Selecting Modes}
|
||||||
|
\li \l{Design Views}
|
||||||
|
\endlist
|
||||||
|
|
||||||
\section1 Project
|
\section1 Project
|
||||||
\target glossary-project
|
\target glossary-project
|
||||||
|
|
||||||
A project is a container for the \e components and \e assets that you
|
A project is a container for the \l{glossary-component}{components} and
|
||||||
use in your UI. You can \e package the UI and preview or run it on
|
\l{glossary-asset}{assets} that you use in your UI. You can \e package
|
||||||
different operating systems on the desktop or a \l{glossary-device}{device}.
|
the UI and preview or run it on different operating systems on the desktop
|
||||||
|
or a \l{glossary-device}{device}.
|
||||||
|
|
||||||
You use templates to create different types of projects according to your
|
You use templates to create different types of projects according to your
|
||||||
needs. The templates add preset components to the project by default. For
|
needs. The templates add preset components to the project by default. For
|
||||||
example, if you create a 3D project, preset 3D components are added to it.
|
example, if you create a 3D project, preset 3D components are added to it.
|
||||||
You can add more preset components in \uicontrol Library.
|
You can add more preset components in \uicontrol Library.
|
||||||
|
|
||||||
|
\image studio-project-wizards.png "New File or Project dialog"
|
||||||
|
|
||||||
Read more about projects:
|
Read more about projects:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l{Creating Projects}
|
\li \l{Creating Projects}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\section1 Property
|
||||||
|
\target glossary-property
|
||||||
|
|
||||||
|
A \e property is an attribute of a \l{glossary-component}{component}
|
||||||
|
that can be assigned a static value or bound to a dynamic expression.
|
||||||
|
A property's value can be read by other components. Generally, it can
|
||||||
|
also be modified by another component, unless a particular component
|
||||||
|
type has explicitly disallowed this for a specific property.
|
||||||
|
|
||||||
|
\image qtquick-item-properties-common.png "Properties view"
|
||||||
|
|
||||||
|
Read more about properties:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{Properties}
|
||||||
|
\li \l{Preset Components}
|
||||||
|
\li \l{Specifying Component Properties}
|
||||||
|
\li \l{Adding Bindings Between Properties}
|
||||||
|
\li \l{Specifying Dynamic Properties}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Signal
|
||||||
|
\target glossary-signal
|
||||||
|
|
||||||
|
A \e signal represents an application event, such as a user clicking a
|
||||||
|
button or the value of a \l{glossary-property}{property} of a
|
||||||
|
\l{glossary-component}{component} changing. The application needs this
|
||||||
|
information to perform actions or to relay it to other applications.
|
||||||
|
|
||||||
|
Components have predefined signals that are emitted when users interact with
|
||||||
|
the application. For example, the \l {Mouse Area} component has a \c clicked
|
||||||
|
signal that is emitted whenever the mouse is clicked within the area. Since
|
||||||
|
the signal name is \c clicked, the signal handler for receiving this signal
|
||||||
|
is named \c onClicked.
|
||||||
|
|
||||||
|
\image washingmachineui-connections.png "Connection View, Connections tab"
|
||||||
|
|
||||||
|
Further, a signal is automatically emitted when the value of a
|
||||||
|
\l{glossary-property}{property} changes.
|
||||||
|
|
||||||
|
Read more about signals:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{Connecting Components to Signals}
|
||||||
|
\li \l{Mouse Area}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 State
|
||||||
|
\target glossary-state
|
||||||
|
|
||||||
|
The \e state of a particular visual \l{glossary-component}{component} is
|
||||||
|
the set of information that describes how and where the individual parts
|
||||||
|
of the component are displayed within it, and all the data associated with
|
||||||
|
that state. Most visual components in a UI will have a limited number of
|
||||||
|
states, each with well-defined \l{glossary-property}{properties}.
|
||||||
|
|
||||||
|
For example, an element in a list may be either selected or not, and if
|
||||||
|
selected, it may either be the currently active single selection or it may
|
||||||
|
be part of a selection group. Each of those states may have certain
|
||||||
|
associated visual appearance (neutral highlighted, expanded, and so forth).
|
||||||
|
|
||||||
|
Similarly, the appearance of a button can change to indicate a \e pressed
|
||||||
|
state.
|
||||||
|
|
||||||
|
\image studio-custom-button.gif "Button states"
|
||||||
|
|
||||||
|
Read more about states:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{States}
|
||||||
|
\li \l{Adding States}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Transition
|
||||||
|
\target glossary-transition
|
||||||
|
|
||||||
|
When a visual \l{glossary-component}{component} transitions from one
|
||||||
|
\l{glossary-state}{state} to another, its appearance changes. A
|
||||||
|
\e transition is an \e edge between two states. It may trigger other
|
||||||
|
events to occur, as other parts of the application may have behavior
|
||||||
|
that is triggered when a certain state is entered or left.
|
||||||
|
|
||||||
|
Read more about transitions:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{Transition Editor}
|
||||||
|
\li \l{Animating Transitions Between States}
|
||||||
|
\endlist
|
||||||
\omit
|
\omit
|
||||||
|
|
||||||
## The following terms might or might not come back, but for now, the
|
## The following terms might or might not come back, but for now, the
|
||||||
@@ -135,15 +308,6 @@
|
|||||||
Each kit consists of a set of values that define one environment, such as a
|
Each kit consists of a set of values that define one environment, such as a
|
||||||
\l{glossary-device} {device} to preview the UI on.
|
\l{glossary-device} {device} to preview the UI on.
|
||||||
|
|
||||||
\section1 Mode
|
|
||||||
\target glossary-mode
|
|
||||||
|
|
||||||
Adapts the \QDS UI to the different UI design
|
|
||||||
tasks at hand. Each mode has its own view that shows only the information
|
|
||||||
required for performing a particular task, and provides only the most
|
|
||||||
relevant features and functions related to it. As a result, the majority
|
|
||||||
of the \QDS window area is always dedicated to the actual task.
|
|
||||||
|
|
||||||
\section1 Run Configuration
|
\section1 Run Configuration
|
||||||
\target glossary-run-config
|
\target glossary-run-config
|
||||||
|
|
||||||
|
@@ -179,17 +179,16 @@
|
|||||||
\li \l{Motion Design}
|
\li \l{Motion Design}
|
||||||
\list
|
\list
|
||||||
\li \l{Introduction to Animation Techniques}
|
\li \l{Introduction to Animation Techniques}
|
||||||
\li \l{Creating Animations}
|
\li \l{Creating Timeline Animations}
|
||||||
\li \l{Editing Easing Curves}
|
\li \l{Editing Easing Curves}
|
||||||
\li \l{Production Quality} (NEW)
|
\li \l{Production Quality}
|
||||||
|
\li \l{Optimizing Designs}
|
||||||
\list
|
\list
|
||||||
\li \l{Detailed Motion Design} (NEW)
|
\li \l{Creating Optimized 3D Scenes}
|
||||||
\endlist
|
\endlist
|
||||||
\li \l{Optimizing for Target Hardware} (NEW)
|
|
||||||
\endlist
|
\endlist
|
||||||
\li \l{Implementing Applications} (NEW)
|
\li \l{Implementing Applications} (NEW)
|
||||||
\list
|
\list
|
||||||
\li\l{Creating Optimized 3D Scenes}
|
|
||||||
\li Using Flows in Production (NEW)
|
\li Using Flows in Production (NEW)
|
||||||
\li \l{Coding}{Cross-Platform Development} (NEW)
|
\li \l{Coding}{Cross-Platform Development} (NEW)
|
||||||
\list
|
\list
|
||||||
@@ -243,6 +242,7 @@
|
|||||||
\li \l {Collecting User Feedback}
|
\li \l {Collecting User Feedback}
|
||||||
\li \l {Reporting Crashes}
|
\li \l {Reporting Crashes}
|
||||||
\endlist
|
\endlist
|
||||||
|
\li {Packaging Applications}
|
||||||
\endlist
|
\endlist
|
||||||
\li \l{Developer Topics} (NEW)
|
\li \l{Developer Topics} (NEW)
|
||||||
\list
|
\list
|
||||||
|
@@ -74,11 +74,10 @@
|
|||||||
\li \b {\l{Motion Design}}
|
\li \b {\l{Motion Design}}
|
||||||
\list
|
\list
|
||||||
\li \l{Introduction to Animation Techniques}
|
\li \l{Introduction to Animation Techniques}
|
||||||
\li \l{Creating Animations}
|
\li \l{Creating Timeline Animations}
|
||||||
\li \l{Editing Easing Curves}
|
\li \l{Editing Easing Curves}
|
||||||
\li \l{Production Quality} (NEW)
|
\li \l{Production Quality}
|
||||||
\li \l{Importing from Content Creation Tools}
|
\li \l{Optimizing Designs}
|
||||||
\li \l{Optimizing for Target Hardware} (NEW)
|
|
||||||
\endlist
|
\endlist
|
||||||
\row
|
\row
|
||||||
\li \inlineimage front-preview.png
|
\li \inlineimage front-preview.png
|
||||||
@@ -101,6 +100,7 @@
|
|||||||
\endlist
|
\endlist
|
||||||
\li \b {\l{Developer Topics}} (NEW)
|
\li \b {\l{Developer Topics}} (NEW)
|
||||||
\list
|
\list
|
||||||
|
\li \l{Packaging Applications}
|
||||||
\li \l{Using Git}
|
\li \l{Using Git}
|
||||||
\li \l{Converting UI Projects to Applications}
|
\li \l{Converting UI Projects to Applications}
|
||||||
\li \l{Using External Tools}
|
\li \l{Using External Tools}
|
||||||
|
@@ -243,7 +243,7 @@
|
|||||||
|
|
||||||
\li Recreate animations in subpresentation_ADAS according to the original
|
\li Recreate animations in subpresentation_ADAS according to the original
|
||||||
project. For more information on creating animations in \QDS, see
|
project. For more information on creating animations in \QDS, see
|
||||||
\l {Creating Animations}.
|
\l {Creating Timeline Animations}.
|
||||||
\image exporting-from-qt3ds/24-recreate-animations.png "Recreate animations"
|
\image exporting-from-qt3ds/24-recreate-animations.png "Recreate animations"
|
||||||
|
|
||||||
\li Go to the \uicontrol Timeline View to review the timeline for the
|
\li Go to the \uicontrol Timeline View to review the timeline for the
|
||||||
|
@@ -43,7 +43,7 @@
|
|||||||
tools, you also import a \l{Cameras}{scene camera},
|
tools, you also import a \l{Cameras}{scene camera},
|
||||||
\l{Lights}{light}, \l{3D Models}{model}, and
|
\l{Lights}{light}, \l{3D Models}{model}, and
|
||||||
\l {Materials and Shaders}{materials}. If your scene did not contain
|
\l {Materials and Shaders}{materials}. If your scene did not contain
|
||||||
them, you can add the corresponding \l {Using 3D Components}{Qt Quick 3D}
|
them, you can add the corresponding \l {3D Components}{Qt Quick 3D}
|
||||||
components from \l Library > \uicontrol Components > \inlineimage plus.png
|
components from \l Library > \uicontrol Components > \inlineimage plus.png
|
||||||
> \uicontrol {Qt Quick 3D} > \uicontrol {Qt Quick 3D}.
|
> \uicontrol {Qt Quick 3D} > \uicontrol {Qt Quick 3D}.
|
||||||
|
|
||||||
@@ -55,7 +55,10 @@
|
|||||||
\uicontrol Properties to transform the component around a point other than
|
\uicontrol Properties to transform the component around a point other than
|
||||||
its local origin. A line is drawn in \uicontrol {3D Editor} from the pivot
|
its local origin. A line is drawn in \uicontrol {3D Editor} from the pivot
|
||||||
point to the center of the component to provide a visual connection between
|
point to the center of the component to provide a visual connection between
|
||||||
them.
|
them. Especially when working with complex scenes, it may be useful to use
|
||||||
|
the \l {Showing and Hiding Components}{showing and hiding} or the
|
||||||
|
\l {Locking Components}{locking} features in \l Navigator to avoid
|
||||||
|
transforming components by mistake while editing your scene.
|
||||||
|
|
||||||
Toggle between local and global orientation to determine whether the gizmos
|
Toggle between local and global orientation to determine whether the gizmos
|
||||||
affect only the local transformations of the component or whether they
|
affect only the local transformations of the component or whether they
|
||||||
@@ -170,6 +173,12 @@
|
|||||||
|
|
||||||
To toggle the selection mode, press \key Q.
|
To toggle the selection mode, press \key Q.
|
||||||
|
|
||||||
|
To multiselect, hold \key Ctrl and click the components you wish to select.
|
||||||
|
|
||||||
|
After selecting a component, you can apply the usual \l {Keyboard Shortcuts}
|
||||||
|
{keyboard shortcuts} applicable to your operating system, for example,
|
||||||
|
\key Ctrl+C and \key Ctrl+V on Windows to copy-paste components.
|
||||||
|
|
||||||
\section1 Moving Components
|
\section1 Moving Components
|
||||||
|
|
||||||
\image studio-3d-editor-move.png "3D Editor in move mode"
|
\image studio-3d-editor-move.png "3D Editor in move mode"
|
||||||
|
@@ -73,7 +73,7 @@
|
|||||||
by any other colors specified for the material.
|
by any other colors specified for the material.
|
||||||
|
|
||||||
You can animate material properties in the \uicontrol Timeline view, as
|
You can animate material properties in the \uicontrol Timeline view, as
|
||||||
instructed in \l {Creating Animations}.
|
instructed in \l {Creating Timeline Animations}.
|
||||||
|
|
||||||
\section1 Blending Colors
|
\section1 Blending Colors
|
||||||
|
|
||||||
|
55
share/qtcreator/qml/qmlpuppet/editor3d_qt5.qrc
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/qtquickplugin">
|
||||||
|
<file>mockfiles/meshes/arrow.mesh</file>
|
||||||
|
<file>mockfiles/meshes/scalerod.mesh</file>
|
||||||
|
<file>mockfiles/meshes/ring.mesh</file>
|
||||||
|
<file>mockfiles/meshes/ringselect.mesh</file>
|
||||||
|
<file>mockfiles/meshes/axishelper.mesh</file>
|
||||||
|
<file>mockfiles/images/editor_camera.png</file>
|
||||||
|
<file>mockfiles/images/editor_camera@2x.png</file>
|
||||||
|
<file>mockfiles/images/area.png</file>
|
||||||
|
<file>mockfiles/images/area@2x.png</file>
|
||||||
|
<file>mockfiles/images/directional.png</file>
|
||||||
|
<file>mockfiles/images/directional@2x.png</file>
|
||||||
|
<file>mockfiles/images/point.png</file>
|
||||||
|
<file>mockfiles/images/point@2x.png</file>
|
||||||
|
<file>mockfiles/images/spot.png</file>
|
||||||
|
<file>mockfiles/images/spot@2x.png</file>
|
||||||
|
<file>mockfiles/qt5/AdjustableArrow.qml</file>
|
||||||
|
<file>mockfiles/qt5/AreaLightHandle.qml</file>
|
||||||
|
<file>mockfiles/qt5/Arrow.qml</file>
|
||||||
|
<file>mockfiles/qt5/AutoScaleHelper.qml</file>
|
||||||
|
<file>mockfiles/qt5/AxisHelper.qml</file>
|
||||||
|
<file>mockfiles/qt5/AxisHelperArm.qml</file>
|
||||||
|
<file>mockfiles/qt5/CameraFrustum.qml</file>
|
||||||
|
<file>mockfiles/qt5/CameraGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/DirectionalDraggable.qml</file>
|
||||||
|
<file>mockfiles/qt5/EditCameraController.qml</file>
|
||||||
|
<file>mockfiles/qt5/EditView3D.qml</file>
|
||||||
|
<file>mockfiles/qt5/FadeHandle.qml</file>
|
||||||
|
<file>mockfiles/qt5/HelperGrid.qml</file>
|
||||||
|
<file>mockfiles/qt5/IconGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/IconRenderer3D.qml</file>
|
||||||
|
<file>mockfiles/qt5/LightGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/LightIconGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/LightModel.qml</file>
|
||||||
|
<file>mockfiles/qt5/Line3D.qml</file>
|
||||||
|
<file>mockfiles/qt5/MaterialNodeView.qml</file>
|
||||||
|
<file>mockfiles/qt5/ModelNode2DImageView.qml</file>
|
||||||
|
<file>mockfiles/qt5/ModelNode3DImageView.qml</file>
|
||||||
|
<file>mockfiles/qt5/ModelNodeView.qml</file>
|
||||||
|
<file>mockfiles/qt5/MoveGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/NodeNodeView.qml</file>
|
||||||
|
<file>mockfiles/qt5/Overlay2D.qml</file>
|
||||||
|
<file>mockfiles/qt5/PlanarDraggable.qml</file>
|
||||||
|
<file>mockfiles/qt5/PlanarMoveHandle.qml</file>
|
||||||
|
<file>mockfiles/qt5/PlanarScaleHandle.qml</file>
|
||||||
|
<file>mockfiles/qt5/RotateGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/RotateRing.qml</file>
|
||||||
|
<file>mockfiles/qt5/ScaleGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt5/ScaleRod.qml</file>
|
||||||
|
<file>mockfiles/qt5/SceneView3D.qml</file>
|
||||||
|
<file>mockfiles/qt5/SelectionBox.qml</file>
|
||||||
|
<file>mockfiles/qt5/SpotLightHandle.qml</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
55
share/qtcreator/qml/qmlpuppet/editor3d_qt6.qrc
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/qtquickplugin">
|
||||||
|
<file>mockfiles/meshes/arrow.mesh</file>
|
||||||
|
<file>mockfiles/meshes/scalerod.mesh</file>
|
||||||
|
<file>mockfiles/meshes/ring.mesh</file>
|
||||||
|
<file>mockfiles/meshes/ringselect.mesh</file>
|
||||||
|
<file>mockfiles/meshes/axishelper.mesh</file>
|
||||||
|
<file>mockfiles/images/editor_camera.png</file>
|
||||||
|
<file>mockfiles/images/editor_camera@2x.png</file>
|
||||||
|
<file>mockfiles/images/area.png</file>
|
||||||
|
<file>mockfiles/images/area@2x.png</file>
|
||||||
|
<file>mockfiles/images/directional.png</file>
|
||||||
|
<file>mockfiles/images/directional@2x.png</file>
|
||||||
|
<file>mockfiles/images/point.png</file>
|
||||||
|
<file>mockfiles/images/point@2x.png</file>
|
||||||
|
<file>mockfiles/images/spot.png</file>
|
||||||
|
<file>mockfiles/images/spot@2x.png</file>
|
||||||
|
<file>mockfiles/qt6/AdjustableArrow.qml</file>
|
||||||
|
<file>mockfiles/qt6/AreaLightHandle.qml</file>
|
||||||
|
<file>mockfiles/qt6/Arrow.qml</file>
|
||||||
|
<file>mockfiles/qt6/AutoScaleHelper.qml</file>
|
||||||
|
<file>mockfiles/qt6/AxisHelper.qml</file>
|
||||||
|
<file>mockfiles/qt6/AxisHelperArm.qml</file>
|
||||||
|
<file>mockfiles/qt6/CameraFrustum.qml</file>
|
||||||
|
<file>mockfiles/qt6/CameraGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/DirectionalDraggable.qml</file>
|
||||||
|
<file>mockfiles/qt6/EditCameraController.qml</file>
|
||||||
|
<file>mockfiles/qt6/EditView3D.qml</file>
|
||||||
|
<file>mockfiles/qt6/FadeHandle.qml</file>
|
||||||
|
<file>mockfiles/qt6/HelperGrid.qml</file>
|
||||||
|
<file>mockfiles/qt6/IconGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/IconRenderer3D.qml</file>
|
||||||
|
<file>mockfiles/qt6/LightGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/LightIconGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/LightModel.qml</file>
|
||||||
|
<file>mockfiles/qt6/Line3D.qml</file>
|
||||||
|
<file>mockfiles/qt6/MaterialNodeView.qml</file>
|
||||||
|
<file>mockfiles/qt6/ModelNode2DImageView.qml</file>
|
||||||
|
<file>mockfiles/qt6/ModelNode3DImageView.qml</file>
|
||||||
|
<file>mockfiles/qt6/ModelNodeView.qml</file>
|
||||||
|
<file>mockfiles/qt6/MoveGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/NodeNodeView.qml</file>
|
||||||
|
<file>mockfiles/qt6/Overlay2D.qml</file>
|
||||||
|
<file>mockfiles/qt6/PlanarDraggable.qml</file>
|
||||||
|
<file>mockfiles/qt6/PlanarMoveHandle.qml</file>
|
||||||
|
<file>mockfiles/qt6/PlanarScaleHandle.qml</file>
|
||||||
|
<file>mockfiles/qt6/RotateGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/RotateRing.qml</file>
|
||||||
|
<file>mockfiles/qt6/ScaleGizmo.qml</file>
|
||||||
|
<file>mockfiles/qt6/ScaleRod.qml</file>
|
||||||
|
<file>mockfiles/qt6/SceneView3D.qml</file>
|
||||||
|
<file>mockfiles/qt6/SelectionBox.qml</file>
|
||||||
|
<file>mockfiles/qt6/SpotLightHandle.qml</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
@@ -28,7 +28,7 @@ import QtQuick3D 1.15
|
|||||||
|
|
||||||
DirectionalDraggable {
|
DirectionalDraggable {
|
||||||
id: arrow
|
id: arrow
|
||||||
source: "meshes/arrow.mesh"
|
source: "../meshes/arrow.mesh"
|
||||||
|
|
||||||
signal positionCommit()
|
signal positionCommit()
|
||||||
signal positionMove()
|
signal positionMove()
|
@@ -42,7 +42,7 @@ Node {
|
|||||||
property bool hovering: false
|
property bool hovering: false
|
||||||
property vector3d cameraRotation: armRoot.camRotPos
|
property vector3d cameraRotation: armRoot.camRotPos
|
||||||
|
|
||||||
source: "meshes/axishelper.mesh"
|
source: "../meshes/axishelper.mesh"
|
||||||
materials: DefaultMaterial {
|
materials: DefaultMaterial {
|
||||||
id: posMat
|
id: posMat
|
||||||
diffuseColor: posModel.hovering ? armRoot.hoverColor : armRoot.color
|
diffuseColor: posModel.hovering ? armRoot.hoverColor : armRoot.color
|
@@ -88,14 +88,21 @@ Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function focusObject(targetObject, rotation, updateZoom, closeUp)
|
function focusObject(targetNodes, rotation, updateZoom, closeUp)
|
||||||
{
|
{
|
||||||
if (!camera)
|
if (!camera)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// targetNodes could be a list of nodes or a single node
|
||||||
|
var nodes = [];
|
||||||
|
if (targetNodes instanceof Node)
|
||||||
|
nodes.push(targetNodes);
|
||||||
|
else
|
||||||
|
nodes = targetNodes
|
||||||
|
|
||||||
camera.eulerRotation = rotation;
|
camera.eulerRotation = rotation;
|
||||||
var newLookAtAndZoom = _generalHelper.focusObjectToCamera(
|
var newLookAtAndZoom = _generalHelper.focusNodesToCamera(
|
||||||
camera, _defaultCameraLookAtDistance, targetObject, view3d, _zoomFactor,
|
camera, _defaultCameraLookAtDistance, nodes, view3d, _zoomFactor,
|
||||||
updateZoom, closeUp);
|
updateZoom, closeUp);
|
||||||
_lookAtPoint = newLookAtAndZoom.toVector3d();
|
_lookAtPoint = newLookAtAndZoom.toVector3d();
|
||||||
_zoomFactor = newLookAtAndZoom.w;
|
_zoomFactor = newLookAtAndZoom.w;
|
@@ -176,9 +176,16 @@ Item {
|
|||||||
function fitToView()
|
function fitToView()
|
||||||
{
|
{
|
||||||
if (editView) {
|
if (editView) {
|
||||||
var targetNode = selectionBoxes.length > 0
|
var boxModels = [];
|
||||||
? selectionBoxes[0].model : null;
|
if (selectedNodes.length > 1) {
|
||||||
cameraControl.focusObject(targetNode, editView.camera.eulerRotation, true, false);
|
for (var i = 0; i < selectedNodes.length; ++i) {
|
||||||
|
if (selectionBoxes.length > i)
|
||||||
|
boxModels.push(selectionBoxes[i].model)
|
||||||
|
}
|
||||||
|
} else if (selectedNodes.length > 0 && selectionBoxes.length > 0) {
|
||||||
|
boxModels.push(selectionBoxes[0].model);
|
||||||
|
}
|
||||||
|
cameraControl.focusObject(boxModels, editView.camera.eulerRotation, true, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -857,7 +864,8 @@ Item {
|
|||||||
width: 100
|
width: 100
|
||||||
height: width
|
height: width
|
||||||
editCameraCtrl: cameraControl
|
editCameraCtrl: cameraControl
|
||||||
selectedNode : viewRoot.selectedNodes.length ? selectionBoxes[0].model : null
|
selectedNode: viewRoot.selectedNodes.length === 1 ? viewRoot.selectionBoxes[0].model
|
||||||
|
: viewRoot.selectedNode
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
@@ -49,12 +49,12 @@ Model {
|
|||||||
signal rotateCommit()
|
signal rotateCommit()
|
||||||
signal rotateChange()
|
signal rotateChange()
|
||||||
|
|
||||||
source: "meshes/ring.mesh"
|
source: "../meshes/ring.mesh"
|
||||||
|
|
||||||
Model {
|
Model {
|
||||||
id: pickModel
|
id: pickModel
|
||||||
objectName: "PickModel for " + rotateRing.objectName
|
objectName: "PickModel for " + rotateRing.objectName
|
||||||
source: "meshes/ringselect.mesh"
|
source: "../meshes/ringselect.mesh"
|
||||||
pickable: true
|
pickable: true
|
||||||
}
|
}
|
||||||
|
|
@@ -29,7 +29,7 @@ import MouseArea3D 1.0
|
|||||||
|
|
||||||
DirectionalDraggable {
|
DirectionalDraggable {
|
||||||
id: scaleRod
|
id: scaleRod
|
||||||
source: "meshes/scalerod.mesh"
|
source: "../meshes/scalerod.mesh"
|
||||||
|
|
||||||
property vector3d axis
|
property vector3d axis
|
||||||
|
|