- Extending Qt Creator Manual
- C++ API Reference
- Extending Qt Creator Manual 20.0.0-beta1

# C++ API Reference

The core of Qt Creator is basically only a plugin loader. All functionality is implemented in C++-based plugins or Lua-based extensions. The basis of Qt Creator is implemented in the Core plugin. The plugin manager lets plugins cooperate by providing hooks for other plugins.

## Libraries

### Core Libraries

There are a few core libraries used by many parts of Qt Creator.

Library Name | Description
--- | ---
Aggregation | Adds functionality for glueing QObjects of different types together, so you can cast between them.
ExtensionSystem | Implements the plugin loader framework. Provides a base class for plugins and basic mechanisms for plugin interaction like an object pool.
QtTaskTree | Provides a declarative way to compose and execute asynchronous task workflows with proper error handling and execution policies. For more information, see Qt TaskTree.
Utils | Useful classes that are reused in a lot of places in Qt Creator code.

## Plugins

As already mentioned, Qt Creator is basically only a plugin loader framework which gets its IDE functionality through C++-based plugins and Lua-based extensions. The most important plugin is the Core plugin which provides all the basic functionality needed later to integrate e.g. editors or mode windows.

Plugin Name | Description
--- | ---
Core | The core plugin. Provides the main window and managers for editors, actions, mode windows and files, just to mention the most important ones. This plugin also contains classes necessary to hook into the Locator as well as support for searching text in arbitrary widgets.

## Solutions

Qt Creator uses object libraries that are independent of any Qt Creator-specific code, and are threfore ready to be a part of Qt.

Solution Name | Description
--- | ---
Spinner | Renders a circular, endlessly animated progress indicator, which may be attached to any widget as an overlay.

## Reference

- Qt Creator C++ Classes
- Qt Creator Namespaces
- Qt Creator Functions
- Solutions