Extending Qt Creator Manual | Creating Plugins

Extending Qt Creator Manual 4.4.0

# Creating Plugins

At its very core, Qt Creator consists of a plugin loader that loads and runs a set of plugins, which then actually provide the functionality that you know from Qt Creator the IDE. So, even the main application window and menus are all provided by plugins. Plugins can use different means to provide other plugins access to their functionality and to allow them to extend certain aspects of the application.

For example the `Core` plugin, which is the very basic plugin that must be present for Qt Creator to run at all, provides the main window itself, and API for adding menu items, modes, editor types, navigation panels and many other things.

The `TextEditor` plugin provides a framework and base implementation for different text editors with highlighting, completion and folding, that is then used by other plugins to add more specialized text editor types to Qt Creator, like for editing C/C++ or `.pro` files.

After reading this guide you will know what a basic plugin consists of, how to write a plugin specification file, what the lifecycle of a plugin is, what the general principles for extending existing plugins' functionality and providing interfaces for other plugins are, and will be able to write your first plugin.

## Basics

- Getting and Building Qt Creator
- Creating Your First Plugin
- Plugin Meta Data
- Plugin Life Cycle

## Design Principles

- The Plugin Manager, the Object Pool, and Registered Objects
- Aggregations
- Extending and Providing Interfaces

## Creating 3rd-Party Plugins

- A Note on Binary Compatibility
- Creating User-Installable Plugins