Qt Creator

Last updated

Qt Creator
Developer(s) Qt Project
Stable release
12.02 [1] / February 7, 2024;6 days ago (2024-02-07)
Repository
Written in C++ (Qt)
Operating system Linux, macOS, BSD family, Windows
Type
License GPL-3.0-only with Qt-GPL-exception-1.0 [2]
Website www.qt.io/product/development-tools

Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. [3] It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.

Contents

History

Development of what would eventually become Qt Creator had begun by 2007 or earlier under transitional names Workbench and later Project Greenhouse. [4] It debuted during the later part of the Qt 4 era, starting with the release of Qt Creator, version 1.0 in March 2009 [5] and subsequently bundled with Qt 4.5 in SDK 2009.3. [6]

This was at a time when the standalone Qt Designer application was still the widget layout tool of choice for developers. There is no indication that Creator had layout capability at this stage. The record is somewhat muddied on this point (perhaps due to changes in ownership or the emphasis on Qt Quick), but the integration of Qt Designer under Qt Creator is first mentioned at least as early as Qt 4.7 (ca. late 2011). [7] In the Qt 5 era, it is simply stated that "[Qt Designer's] functionality is now included as part of [sic] Qt Creator IDE." [8]

Projects

Qt Creator includes a project manager that can use a variety of project formats such as .pro, CMake, Autotools and others. A project file can contain information such as what files are included into the project, custom build steps and settings for running the applications.

Editors

Qt Creator includes a code editor and integrates Qt Designer for designing and building graphical user interfaces (GUIs) from Qt widgets.

The code editor in Qt Creator supports syntax highlighting for various languages. In addition to that, the code editor can parse code in C++ and QML languages and as a result code completion, context-sensitive help, semantic navigation are provided. [9]

Qt Designer is a tool for designing and building graphical user interfaces (GUIs) from Qt widgets. It is possible to compose and customize the widgets or dialogs and test them using different styles and resolutions directly in the editor. Widgets and forms created with Qt Designer are integrated with programmed code, using the Qt signals and slots mechanism. [10]

Qt Quick Designer is a tool for developing animations by using a declarative programming language QML.

Targets

Qt Creator provides support for building and running Qt applications for desktop environments (Windows, Linux, FreeBSD and macOS), mobile devices (Android, BlackBerry, iOS, Maemo, and MeeGo) and embedded Linux devices. Build settings allow the user to switch between build targets, different Qt versions and build configurations. For mobile device targets, Qt Creator can generate an installation package, install it to a mobile device that is attached to the development computer and run it there.

Tools

Qt Creator is integrated with a set of tools, such as version control systems and Qt Simulator.

The following version control systems are supported:

Qt Simulator is a tool for testing Qt applications that are intended for mobile devices in an environment similar to that of the device.

Debuggers

Qt Creator uses external native debuggers to debug the C++ language. [11] Qt Creator displays the raw information provided by the native debuggers in a simplified manner.

Debuggers supported are:

See also

Related Research Articles

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop and NetBeans, do not.

<span class="mw-page-title-main">Qt (software)</span> Object-oriented framework for software development

Qt is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">KDevelop</span> Integrated development environment

KDevelop is a free and open-source integrated development environment (IDE) for Unix-like computer operating systems and Windows. It provides editing, navigation and debugging features for several programming languages, and integration with build automation and version-control systems, using a plugin-based architecture.

<span class="mw-page-title-main">PyQt</span> Python GUI library

PyQt is a Python binding of the cross-platform GUI toolkit Qt, implemented as a Python plug-in. PyQt is free software developed by the British firm Riverbank Computing. It is available under similar terms to Qt versions older than 4.5; this means a variety of licenses including GNU General Public License (GPL) and commercial license, but not the GNU Lesser General Public License (LGPL). PyQt supports Microsoft Windows as well as various kinds of UNIX, including Linux and MacOS.

<span class="mw-page-title-main">Graphical user interface builder</span> Software development tool

A graphical user interface builder, also known as GUI designer or sometimes RAD IDE, is a software development tool that simplifies the creation of GUIs by allowing the designer to arrange graphical control elements using a drag-and-drop WYSIWYG editor. Without a GUI builder, a GUI must be built by manually specifying each widget's parameters in the source code, with no visual feedback until the program is run. Such tools are usually called the term RAD IDE.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

eric (software)

eric is a free integrated development environment (IDE) used for computer programming. Since it is a full featured IDE, it provides by default all necessary tools needed for the writing of code and for the professional management of a software project.

<span class="mw-page-title-main">Maemo</span> Mobile operating system by Nokia

Maemo is a software platform originally developed by Nokia, now developed by the community, for smartphones and Internet tablets. The platform comprises both the Maemo operating system and SDK. Maemo played a key role in Nokia's strategy to compete with Apple and Android, and that strategy failed for complex, institutional and strategic reasons.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

<span class="mw-page-title-main">MonoDevelop</span> Integrated development environment, discontinued for macOS

MonoDevelop was an open-source integrated development environment for Linux, macOS, and Windows. Its primary focus is development of projects that use Mono and .NET Framework. MonoDevelop integrates features similar to those of NetBeans and Microsoft Visual Studio, such as automatic code completion, source control, a graphical user interface (GUI) and Web designer. MonoDevelop integrates a Gtk# GUI designer called Stetic. It supports Boo, C, C++, C#, CIL, D, F#, Java, Oxygene, Vala, JavaScript, TypeScript and Visual Basic.NET. Although there is no word from the developers that it has been discontinued, nonetheless it hasn't been updated in 4 years and is no longer installable on major operating systems, such as Ubuntu 22.04 and above. Its parent Microsoft, seems to have shifted focus to Visual Studio Code and the .NET Framework, which runs on many operating systems, including Linux.

fpGUI Graphical user interface toolkit in Object Pascal

fpGUI, the Free Pascal GUI toolkit, is a cross-platform graphical user interface toolkit developed by Graeme Geldenhuys. fpGUI is open source and free software, licensed under a Modified LGPL license. The toolkit has been implemented using the Free Pascal compiler, meaning it is written in the Object Pascal language.

<span class="mw-page-title-main">GTK</span> Free and open-source cross-platform widget toolkit for creating graphical user interfaces

GTK is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the Wayland and X11 windowing systems.

<span class="mw-page-title-main">Symbian</span> Discontinued mobile operating system

Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium. Symbian OS is a descendant of Psion's EPOC, and was released exclusively on ARM processors, although an unreleased x86 port existed. Symbian was used by many major mobile phone brands, like Samsung, Motorola, Sony Ericsson, and above all by Nokia. It was also prevalent in Japan by brands including Fujitsu, Sharp and Mitsubishi. As a pioneer that established the smartphone industry, it was the most popular smartphone OS on a worldwide average until the end of 2010, at a time when smartphones were in limited use, when it was overtaken by iOS and Android. It was notably less popular in North America.

QML is a user interface markup language. It is a declarative language for designing user interface–centric applications. Inline JavaScript code handles imperative aspects. It is associated with Qt Quick, the UI creation kit originally developed by Nokia within the Qt framework. Qt Quick is used for mobile applications where touch input, fluid animations and user experience are crucial. QML is also used with Qt3D to describe a 3D scene and a "frame graph" rendering methodology. A QML document describes a hierarchical object tree. QML modules shipped with Qt include primitive graphical building blocks, modeling components, behavioral components, and more complex controls. These elements can be combined to build components ranging in complexity from simple buttons and sliders, to complete internet-enabled programs.

<span class="mw-page-title-main">Mer (software distribution)</span> Free and open-source software distribution

Mer was a free and open-source software distribution, targeted at hardware vendors to serve as a middleware for Linux kernel-based mobile-oriented operating systems. It is a fork of MeeGo.

Felgo is a cross-platform development tool, based on the Qt framework. It can be used to create mobile apps or games. Felgo apps and games are supported on iOS, Android, Windows Phone, embedded devices and desktop devices. Felgo developers use QML, JavaScript and C++ to create mobile apps and games.

<span class="mw-page-title-main">KDE Gear</span> Set of applications and supporting libraries

The KDE Gear is a set of applications and supporting libraries that are developed by the KDE community, primarily used on Linux-based operating systems but mostly multiplatform, and released on a common release schedule.

<span class="mw-page-title-main">Fyne (software)</span> Graphical toolkit for building cross platform GUIs

Fyne is a free and open-source cross-platform widget toolkit for creating graphical user interfaces (GUIs) across desktop and mobile platforms. Fyne uses OpenGL to provide cross-platform graphics. It is inspired by the principles of Material Design to create applications that look and behave consistently across all platforms. It is licensed under the terms of the 3-clause BSD License, supporting the creation of free and proprietary applications. In December 2019 Fyne became the most popular GUI toolkit for Go, by GitHub star count and in early February 2020 it was trending as #1 project in GitHub trending ranks.

References

  1. "Qt Creator 12 released".
  2. "README.md". code.qt.io. Retrieved 17 February 2022.
  3. "Developer Tools – Digia Plc". qt.digia.com. Archived from the original on 27 November 2012. Retrieved 5 December 2012.
  4. "Qt Blog, Qt Creator 1.2 released (accessed 12 August 2013)". Blog.qt.digia.com. Retrieved 22 September 2013.
  5. "Qt Blog, Working hard on QtCreator 1.1 (accessed 12 August 2013)". Blog.qt.digia.com. Retrieved 22 September 2013.
  6. "Computrade, Qt 4.5, Qt Creator released... (accessed 12 August 2013)". Cti.acesuppliers.com. 24 March 2009. Retrieved 22 September 2013.
  7. http://qt-project.org/wiki/QtCreatorWhitepaper Ot Project site, Qt Creator Whitepaper. Unfortunately this document doesn't seem to include any reference to Qt or Qt Creator version numbers. That information is seen only on the 'parent' page that links to this one, http://qt-project.org/doc/qt-4.7/ (both accessed 12 August 2013)
  8. "Nokia Developer Wiki, Qt Designer (accessed 11 August 2013)". Developer.nokia.com. Retrieved 22 September 2013.
  9. "Qt Creator: FAQ". qt-project.org. 31 March 2009. Retrieved 5 December 2012.
  10. "Using Custom Widgets with Qt Designer | Qt Designer Manual". doc.qt.io. Retrieved 19 May 2023.
  11. "Debugging - Qt Creator Manual".