An IDE for developing cross-platform graphical C++ applications using the Qt Framework. A screenshot of the main window can be seen below. All the expected features of an IDE can be found in Qt Creator including, but not restricted to, auto-completion, code-wrapping, class browser, etc. The big advantage of using Qt Creator over another IDE or text editor when working on a Qt project is the built-in GUI editor, Qt Designer, that can be used to rapidly produce UIs in a fraction of the time it would take to type the code by hand. Qt Creator also includes support for various version control systems, including Git.
Qt Designer come both as a standalone editor and build into Qt Creator. GUI design with Qt Designer is done simply by dragging and dropping the UI element from the right-hand column onto the canvas in the middle, and the left-hand column contains the properties of each object. In the screenshot below, I have dragged a few buttons onto the canvas for illustrative purposes.
There are a few other official Qt applications that can be used when building Qt apps, either with or without Qt
Creator. Qt Linguist is a tool for easily translation Qt apps into other languages. When writing the source code in Qt creator, the programmer would write a user-facing string of text like so
tr ("My String")
This marks the text as requiring translation. (NB: it is good practice to include these markers even if you don't intend to translate it yourself). Qt Linguist would then look for these markers and present a UI, similar to Launchpad's translation tools, where the translator can enter the translated string for each language into a text entry field and call the string translated. A screenshot of Qt Linguist being used to translate an application into Polish can be seen below.
Finally, there is Qt Assistant, which contains all the documentation and reference material required to get the most out of the Qt application suite. If you're ever used Devhelp, from the Ubuntu Software Centre and where all the documentation for developing on Ubuntu can be found, then you'll already know what to expect from this. If you need to know what a particular class does, just search for it's name in Qt Assistant and you'll be taken straight to the reference page. If you want to know more about using any of the above Qt applications, user manuals for all of them can be found in here. All the documentation is stored locally so Qt Assistant can be used without an internet connection.
As with any language, framework or toolset, it is entirely possible to develop using the provided libraries without using a specialised development environment, such as those mentioned above. It's also possible to buy your own milking cow and head out with a bucket every morning at 6am, rather than heading down to the store and buying a carton that will last a week. A developer's time is a precious resource - use it wisely by using the right tools for the right job. These tools are developed by Nokia, the developers of the Qt Framework and are, as such, the best possible tools for developing Qt apps (actually, they may be the only tools).
If you want to develop a Qt app, go into the Ubuntu Software Centre, search for 'qt', and download everything with the little green Qt logo next to it.
More information on Qt can be found at the Qt Developer Centre, while more information on the tools themselves can be found here.