Reference | Qt Creator Documentation

- Qt Creator Documentation
- Reference
- Qt Creator 17.0.1

How To ◦ Licenses and acknowledgments

# Reference

The following topics contain reference information about using Qt Creator and the integrated tools.

Command-Line Options | Options for starting Qt Creator from the command line.
Custom Wizards | Wizard types and JSON wizard format.
FAQ | Answers to some frequently asked questions about Qt Creator.
Glossary | Qt Creator terms and concepts.
Keyboard Shortcuts | Default keyboard shortcuts.
Known Issues | Known issues in Qt Creator version 17.0.1.
Licenses and acknowledgments | Licenses and third-party components in Qt Creator.
SDK Tool | Configure CMake and set up compilers, debuggers, devices, Qt versions, and kits from the command line.
Technical support | Qt support sites and other useful sites.
Version Control Systems | Version control systems that you can use from Qt Creator.

## Analyzers

Use integrated code analysis tools to improve your C++ or QML code.

Chrome Trace Format Visualizer | Visualize Chrome trace events generated in Chrome Trace Format (CTF).
Heob | Detect memory leaks with Heob.
JavaScript and QML Checks | Run static checks on the QML and JavaScript code in your project to find common problems.
Performance Analyzer | Analyze the CPU and memory usage of an application on Linux desktop and embedded devices.
Profiling QML applications | Improve the performance of QML applications.

## Build Systems

When you create projects, you can choose the build system to use for building the project: CMake, qmake, Meson, or Qbs. qmake is installed and configured when you install Qt. To use one of the other supported build systems, you need to set it up.

Autotools | With Autotools, you can create a portable, complete, and self-contained GNU Build System from simple instructions.
CMake | CMake is an alternative to qmake for automating the generation of build systems.
Conan Package Manager | The experimental Conan plugin integrates the Conan package manager.
IncrediBuild | IncrediBuild decreases the time it takes to build C++ code.
Meson | Use Meson to build native desktop applications.
Nimble | The Nimble package manager uses the Nim compiler to generate Nim application executables for the desktop platforms.
Qbs | Qbs is an all-in-one build tool that generates a build graph from a high-level project description (like qmake or CMake do) and executes the commands in the low-level build graph (like make does).
vcpkg Package Manager | The experimental vcpkg plugin integrates the vcpkg C/C++ package manager.

### Build Configurations

Build configurations have everything you need to compile the sources into binaries. Build configurations use the tools and settings defined in their corresponding kit.

CMake Build Configuration | Settings for building applications with CMake.
CMake Presets | Examples of supported CMake presets.
CMake Qt Vendor Presets | Summary of CMake Qt vendor presets.
Conan Build Configuration | Settings for building applications with the Conan package manager.
IncrediBuild Build Configuration | Build and clean steps for Incredibuild.
Meson Build Configuration | Settings for building applications with Meson.
Qbs Build Configuration | Settings for building applications with Qbs.
qmake Build Configuration | Settings for building applications with qmake.

## Debuggers

Set up and use debuggers to debug executable binary files, as well as QML, Java, and Python source code.

Debugging Helpers | Load, customize, and add debugging helpers.
Debugging Qt Quick projects | Debug JavaScript functions, execute JavaScript expressions to get information about the state of the UI, and inspect QML properties and JavaScript variables, as well as change their values temporarily at runtime.
Supported Debuggers | Summary of supported debugger versions.
Troubleshooting Debugger | Solve problems that you might encounter while debugging.

### Debugger Views

Inspect the state of your application while debugging in the Debug mode.

Debug Mode Views | Inspect the state of your application while debugging.
Debugger Log | Troubleshoot the debugger.
Evaluating expressions | Compute values of arithmetic expressions or function calls.
Local variables and function parameters | Inspect local variables and function parameters.
Peripheral Registers | View the current state of peripheral devices, such as a mouse, keyboard, display, printer, or USB drive.
Setting breakpoints | Set breakpoints to interrupt the application.
Viewing Disassembled Code | View disassembled code for the current function.
Viewing Modules | View information about the modules included in a debugged application.
Viewing Source Files | View source files included in a debugged project.
Viewing Threads | View the threads currently active in a multi-threaded application.
Viewing and Editing Register State | View the current state of general-purpose and special-purpose CPU registers.
Viewing call stack trace | View the nested function calls leading to the current position as a call stack trace.

## Devices

Connect devices to the computer to run, debug, and analyze applications built for them from Qt Creator. When you install Qt for a target platform, such as Android or QNX, the build and run configurations for the development targets might be set up automatically in Qt Creator.

Developing for Android | Set up the toolchain for building applications for Android devices.
Developing for Bare Metal Devices | Create kits to use Bare Metal toolchains installed on the computer to build applications for and run and debug them on connected Bare Metal devices.
Developing for Boot to Qt Devices | Connect Boot to Qt devices to the computer to run, debug, and analyze applications built for them from Qt Creator.
Developing for MCUs | Connect MCU devices to the computer to run and debug applications on them.
Developing for Remote Linux Devices | Connect generic Linux devices to the computer to run, debug, and analyze applications built for them from Qt Creator.
Developing for iOS | Connect iOS devices to your local machine with a USB cable to run applications on them.

### Deploy Configurations

Deploy configurations handle the packaging of the application as an executable and copying it to a location you want to run the executable at. The files can be copied to a location in the file system of the computer or a device.

Android Deploy Configuration | Create packages to deploy to devices or to submit to the Google Play store, or create libraries for Android app modules.
Boot to Qt Deploy Configuration | Copy application files to Boot to Qt devices.
QNX Neutrino Deploy Configuration | Copy application files to QNX Neutrino devices.
Remote Linux Deploy Configuration | Copy application files to generic remote Linux devices or create a tarball.

### Run Configurations

Run configurations start the application in the location where the deploy configuration copied it. By default, when you select Run, Qt Creator builds the project, deploys it to the device defined in the kit, and runs it there. If you did not make changes to the project since you last built and deployed it, Qt Creator simply runs it again.

Android Run Settings | Settings for running applications on Android devices.
Boot to Qt Run Settings | Settings for running applications on Boot to Qt devices.
Desktop Device Run Settings | Settings for running applications on desktop device types.
Python Run Settings | Settings for running Qt for Python applications.
QNX Run Settings | Settings for running applications on Linux-based devices.
Qt Quick UI Prototype Run Settings | Settings for running Qt Quick UI Prototype projects (.qmlproject).
Remote Linux Run Settings | Settings for running applications on Linux-based devices.

## Editors

When you open files, Qt Creator chooses a suitable editor according to the file type.

C++ Quick Fixes | Summary of quick fixes for C++ code.
Clang Code Model | Offers code editing services for C++.
Edit Mode | Edit and navigate code and other resources in your projects.
FakeVim Modes and Commands | Supported Vim modes and emulated commands.
Language Servers | Get code completion, highlighting of the symbol under cursor, and jumping to the symbol definition in the editor for other programming languages besides C++, as well as diagnostics.
Model Editor | Create Universal Modeling Language (UML) style models with structured and behavioral diagrams.
QML Quick Fixes | Summary of quick fixes for QML code.
SCXML Editor | Edit state chart (.scxml) files.

## Platforms

You can install and run Qt Creator on several operating systems to create applications for multiple desktop, embedded, and mobile device platforms.

Desktop Platforms | Requirements for operating systems that you can install and run Qt Creator on.
Optimizing Applications for Mobile Devices | Guidelines for developing usable applications for mobile devices.
Supported Platforms | Summary of development and target platforms.

## Preferences

You can set preferences that apply globally to all projects and override them for particular projects.

Axivion | Create a connection to an Axivion dashboard server.
Beautifier | Format source code with Artistic Style, ClangFormat, or Uncrustify.
FakeVim | Set indentation for Vim-style editing and map vim commands to Qt Creator functions.
Locator | Add and change locator filters.
Nim | Set Nim code style and paths to tools.
Qbs | Set preferences for Qbs and Qbs profiles.
Screen Recording | Set preferences for recording screens with FFmpeg.
Testing | Customize the handling of tests, test frameworks, and test tools.
To-Do | Add keywords for listing to-do entries.

### Analyzer

Preferences for code analysis tools.

Clang Tools | Set preferences for Clang-Tidy and Clazy.
Valgrind Callgrind | Set preferences for Valgrind Callgrind.
Valgrind Memcheck | Set preferences for Valgrind Memcheck.

### C++

Preferences for editing C++ code.

C++ Code Style | Set global code style for C++ files.
Clangd | Sets global preferences for the clangd code model.
Code Model | Sets global preferences for the C++ code model.
Quick Fixes | Set global preferences for C++ quick fixes.

### Debugger

Preferences for debugging.

CDB | Manage the CDB process.
CDB Paths | Add the Microsoft Symbol Server to the symbol search path of the debugger.
GDB | Manage the GDB process.
General | Customize debug views and map source paths.

### Kits

Preferences for build and run kits.

Compilers | Lists the registered compilers. You can add custom compilers to the list.
Kits | Set kit preferences. A kit consists of a set of values that define one environment, such as a device, toolchain, Qt version, and debugger command to use.

### Text Editor

Preferences for the behavior and appearance of text and code editors.

Behavior | Set preferences for indentation, typing, and file encoding in the text editor.
Completion | Set preferences for code completion and inserting matching characters in the text editor.
Font & Colors | Set the font preferences and apply color schemes for syntax highlighting, diff editor, and code analysis results.
Snippets | Add, change, and remove snippets in the snippet editor.

## UI Design

You can use a visual editor, Qt Widgets Designer, for designing widget-based UIs in the Design mode. For Qt Quick UIs, use a separate visual editor, Qt Design Studio, or the Edit mode.

Adding Qt Widgets Designer Plugins | Adding widgets to Qt Widgets Designer by creating plugins that extend Qt applications.
Converting UI Projects to Applications | Converting a project that has a .qmlproject file to one that has a .pro file.
Qt Quick Designer | A visual editor for QML files (.qml) and Qt Design Studio UI files (.ui.qml).
Qt Widgets Designer | A visual editor for Qt Widgets.
UI files | Limitations of Qt Design Studio UI files (.ui.qml).
Using QML modules with plugins | Using C++ plugins to expose custom components to Qt Quick applications.

## Views

When you switch modes or trigger actions, Qt Creator opens views for viewing output and organizing project contents.

### Output Views

You can view output from several sources, such as a list of errors and warnings encountered during a build, detailed output from the compiler, status of a program when it is executed, debug output, or search results.

Application Output | Displays the status of a program when you execute it, and the debug output.
Compile Output | Shows all output from the compiler.
Issues | Lists issues from different sources.
Search Results View | Search through projects, files on a file system or the currently open files and view search results.
Squish | View Squish test, runner, and server logs.
Terminal | Opens a terminal.
Test Results | View test results.
To-Do Entries | Lists to-do keywords from project files.

### Sidebar Views

In some modes, you can use a left and right sidebar to organize different views into project contents. Only views that are relevant to the mode you are working in are available in it.

Call Hierarchy | Shows information about incoming and outgoing function calls from a language server.
Class View | Shows the class hierarchy of the currently open projects.
File System | Shows all the files in the current directory.
Include Hierarchy | Shows the files that the current file includes and those that include the current file.
Open Documents | Shows currently open files.
Outline | Shows an overview of defined types and other symbols, as well as their properties and hierarchy in a source file.
Projects | Shows a list of projects in a project tree. The project tree has a list of all projects open in the current session. For each project, the tree visualizes the build system structure of the project and lists all files that are part of the project.
Type Hierarchy | Shows the base classes and derived classes of a class.

How To ◦ Licenses and acknowledgments