- Qt Creator Manual
- Getting Started
- Overview
- Qt Creator Manual 13.0.0-beta2

Getting Started ◦ Creating Projects

# Overview

Qt Creator is a cross-platform, complete integrated development environment (IDE) that you can use to create applications for desktop, embedded, and mobile operating systems, or web browsers.

With Qt, you can develop applications and user interfaces once and deploy them to many platforms. Qt Creator has the tools for accomplishing your tasks throughout the whole application development life-cycle, from creating a project, designing a UI, and writing code to building applications and deploying them to the target platforms for running and debugging.

Application development life-cycle

## Projects

First, you need a project. Qt Creator relies on a separate build system, such as CMake, qmake, or Qbs for building the project. From the build system, Qt Creator gets most of the information it needs to offer services for writing, editing, and navigating source code, as well as to deploy and run applications. It stores additional information in the project settings.

Share projects with other designers and developers across different development platforms with a common tool for design, development, and debugging.

- Creating Projects

  To set up a project, you first have to decide what kind of an application you want to develop: do you want a user interface based on Qt Quick or Qt Widgets. Second, you have to choose the programming language to implement the application logic: C++ or Python.

- Version Control Systems

  The recommended way to set up a project is to use a version control system. Store and edit only project source files and configuration files. Do not store generated files.

- Configuring Projects

  Installation programs and project wizards create default configurations for Qt Creator and your projects. Change the configurations in the Projects mode.

For more information, see How To: Manage Projects.

## User Interfaces

To create intuitive, modern-looking, fluid user interfaces, use Qt Quick and Qt Design Studio:

- Qt Quick Designer

  Or, enable the Qt Quick Designer plugin to visually edit UI files (.ui.qml).

- Converting UI Projects to Applications

  Qt Quick UI Prototype projects (.qmlproject) are useful for creating user interfaces. To use them for application development, you have to convert them to Qt Quick Application projects that have project configuration files (CMakeLists.txt or .pro), .cpp, and .qrc files.

- UI Files

  If you switch between Qt Creator and Qt Design Studio or cooperate with designers on a project, you might encounter .ui.qml files. They are intended to be edited in Qt Design Studio only, so you need to be careful not to break the code. To visually edit the files in Qt Creator, enable the Qt Quick Designer plugin.

- Using QML Modules with Plugins

  Load C++ plugins for QML to simulate data.

If you need a traditional user interface that has a clear structure and enforces a platform look and feel, use Qt Widgets and the integrated Qt Designer.

For more information, see How To: Design UIs and UI Design.

## Code

Writing, editing, and navigating in source code are core tasks in application development. Therefore, the code editor is one of the key components of Qt Creator. Use the code editor in the Edit mode.

As an IDE, Qt Creator differs from a text editor in that it knows how to build and run applications. It understands the C++ and QML languages as code, not just as plain text. Therefore, it can offer useful features, such as semantic highlighting, checking code syntax, code completion, and refactoring actions.

Qt Creator supports some of these services also for other programming languages, such as Python, for which a language server is available that provides information about the code to IDEs.

### Find

Use the incremental and advanced search to search in currently open projects or files on the file system or use the locator to browse through projects, files, classes, functions, documentation, and file systems.

### Refactor

Code refactoring is the process of improving and simplifying code without modifying the existing functionality of an application. Find and rename symbols and apply predefined actions to refactor code.

Refactor code to:

- Improve internal quality of your application
- Improve performance and extensibility
- Improve code readability and maintainability
- Simplify code structure

### Configure the Editor

Configure the text editor to suit your specific needs. Change the fonts, colors, highlighting, and indentation.

If you are used to the Vim editor, run the main editor in the FakeVim mode.

For more information, see How To: Edit Code and Editors.

## Build, Deploy, and Run

Run and deploy Qt applications that you build for different target platforms or with different compilers, debuggers, or Qt versions. Kits define the tools, device type and other settings to use when building and running your project.

Qt Creator integrates cross-platform systems for build automation: CMake, qmake, Qbs, and Autotools. In addition, you can import projects as generic projects and fully control the steps and commands to build the project.

Build applications for, deploy them to, and run them on the desktop environment or a device. With kits, as well as build, run, and deployment configurations, you can quickly switch between different setups and target platforms.

For more information, see How To: Build and Run, Build Systems, Build Configurations, and Run Configurations.

### On Devices

When you install tool chains for device types as part of a Qt distribution, the build and run configurations for the devices might be set up automatically. However, you might need to install and configure some additional software on the devices to be able to connect to them from the computer.

Deployment configurations handle the packaging and copying of the necessary files to a location you want to run the executable at, such as the file system of a device.

For more information, see Connecting Devices and Deploying to Devices.

### Preview QML

Use the QML live preview to preview a QML file or an entire Qt Quick application on the desktop, as well as on Android and embedded Linux devices. The changes you make to the UI are instantly visible to you in the preview.

For more information, see Validating with Target Hardware.

## Debug

A debugger lets you see what happens inside an application while it runs or when it crashes. A debugger can do the following to help you find errors in the application:

- Start the application with parameters that specify its behavior.
- Stop the application when conditions are met.
- Examine what happens when the application stops.
- Make changes in the application when you fix an error and continue to find the next one.

Qt Creator integrates several external native debuggers for inspecting the state of your application while debugging. The debugger plugin automatically selects a suitable native debugger for each kit from the ones it finds on the computer. Edit the kits to override this choice.

Connect devices to your computer to debug processes running on the devices.

For more information, see Debugging.

## Analyze

Devices have limited memory and CPU power, so you should use them carefully. Qt Creator integrates code analysis tools for detecting memory leaks, profiling function execution, analyzing CPU use, and eliminating unnecessary complexity of code. Other tools provide code coverage and visualize trace events.

Install and configure the tools on your system to use them from Qt Creator. However, the QML Profiler is installed as part of Qt Creator for profiling Qt Quick applications.

For more information, see Analyzing Code.

## Autotest

Create, build and run Qt tests, Qt Quick tests, Google tests, and Boost tests to unit test applications and libraries.

Map AUTs (Application Under Test) to Qt Creator and run Squish test suites and cases from it.

For more information, see Running Autotests and Using Squish.

## Publish

Create installation packages for mobile devices that you publish to application stores and other channels. You must make sure that the package contents meet the requirements for publishing on the channel.

For more information, see Publishing to Google Play.

## Qt Tools

Qt Creator is one of many Qt tools for designing and developing applications.

Tools for Qt application development

Getting Started ◦ Creating Projects