Useful Tips

Qt creator


integrated development environment (IDE) for Qt

Qt Creator is a cross-platform integrated development environment (IDE) designed to speed up and simplify development using the Qt application platform.

* Advanced C ++ code editor
* Built-in GUI and form designer
* Project management and building tools
* Integrated, context-sensitive help system
* Visual debugger
* Fast code navigation tools
* Support for multiple platforms
* Qt Quick Designer

Work with the updated program

Qt creator can be updated by downloading the latest version from qt

Programs are put by default in the directory

/ Qt. To run qtcreator, make a link to the desktop:

To prevent conflicts, set the default settings. Tools menu, Options, Kits section, select Auto-defined Desktop Qt 5.4.x GCC 64bit, click the Make default button.

Compiling Examples

To start programming, it’s nice to get acquainted with sample programs. To understand the style of programming and learning the language and frameworks.

Create a folder where we will save projects, for example in

/ qtprojects. And create a link to the shared shared folder so that the "../../shared.h" path works.

We select Start, Examples on the left, click and run.

The choice of technology.

Canonical intends to resolve the situation and provide the Ubuntu SDK. The first question was raised about choosing a framework for building highly efficient programs that can work on various devices.

The compiled list totaled:

  • Qt / QML - Native applications that can be run on any device and adapt to screen size.
  • HTML5 - Web applications that can adapt to the device, with deep integration into the system and using launcher, message menu, etc.
  • Online services - the website, in the form of a WebApp program, integrates with the system using the message menu, integration with Unity, etc.
  • Opengl - Full OpenGL support for games.

Some time ago, it was decided to focus on Qt as a platform, not only when creating the Ubuntu SDK, but when combining all devices under a single Ubuntu.

Qt has the following advantages:

  • It provides a fast C ++ library and QML toolkit, which is a high-level declarative language. This means that you can simultaneously have the power of C for system applications and at the same time, programmers can quickly develop application software in a higher language.
  • Qt comes with a great set of tools: an IDE, debugger, designer, and more.
  • Qt Creator IDE is easily extensible with plugins. Therefore, it can be used as the main IDE and used to write HTML5 and OpenGL applications.
  • Excellent documentation of Qt and QML.
  • Qt has a strong ecosystem linking many companies. This makes hiring Qt programmers and contracting much easier.
  • Qt is a great upstream that is interested in working with those who use it.

The choice in favor of Qt Creator, as the main IDE, has been made. But to help developers using HTML5 to build web applications, Canonical has invested in Apache Cordova. Apache Cordova is an API suite that allows JavaScript to access the hardware of mobile platforms. The Ubuntu SDK will support Cordova, which will make creating HTML5 applications easier and more flexible. The programmer will be able to write an HTML5 application:

  • using in conjunction with the Cordova API - HTML5 Cordova.
  • without Cordova API - HTML5 Stock.

Both features will be available in the IDE Qt Creator!

Ubuntu SDK.

Canonical formed the SDK team and set to work, which was divided into two parts.

First of all, work has begun on a platform for application developers. Basically, this is finding out everything that programmers need to write software for Ubuntu, which runs on a variety of hardware platforms and on devices with different form factors. Also, in addition to finding out what is needed, there is a creation of support for this from Canonical.

  • Creating a set of Ubuntu components (Ubuntu Component), so that Qt and HTML5 developers can easily create their applications from ready-made widgets.
  • The standard model of the application process in Linux will be modified taking into account the features of mobile platforms. It's about being able to suspend an application to save battery power.
  • Creating a location service.
  • Multimedia and Music Service. For the music to continue playing in the background when the player is out of focus, in the new model of the processes in memory, some work needs to be done.
  • Alarm and appointment appointments.
  • Calendar via Evolution Data Server.
  • Sensor Services like accelerometer.

This work is currently at various stages of completion, but the entire platform API will be ready at the end of August 2013. Many applications are using this API right now. The main thing is that all services will be available on all platforms and on all devices with different form factors. Ubuntu seeks to bring devices together under its control.

Secondlycreating an SDK per se. Adding the necessary functionality to the Qt Creator IDE to use it when writing Qt / QML, HTML5 and OpenGL applications. Work in this direction touched a number of areas and the result was:

  • Creating project templates for QML, HTML5 (Cordova), HTML5 (Stock) and Scopes (search engines for Unity lenses). This allows the programmer to easily start his project on the basis of a standard template.
  • Integration with Bazaar and Git makes it easier for programmers to work together on their project.
  • In one click, a programmer can evaluate his creation on any form factor of any device.

Ease of creating a ready-made Click package for the application to be sent for approval to the Canonical repository.

  • Ubuntu Component Showcase - a programmer can easily see various UI components and sample code.
  • Integrated documentation, IRC, Design Guidelines, and AskUbuntu support.
  • All of the above is already available in the Ubuntu SDK, and programmers can start exploring should be a central resource for developers, helping with all aspects of development. The site provides guides for building applications, API documentation, a collection of sample App Developer Cookbooks for common questions with AskUbuntu. Already, the site is not a bad springboard to get started. But work on it continues and there will be improvements and innovations:

    • Revised navigation and site structure for ease of use.
    • Clearer and better integration with API documentation.
    • API extension.
    • Cookbook for all submitted application templates.
    • Full integration of Juju Charm documentation and API.

    Many improvements can be seen in the coming autumn days. Reading these lines, you might think that Canonical abandoned the desktop and only “plays” on mobile platforms, nursing Ubuntu Touch. This is not true! On August 29, 2013, Ubuntu Developer Summit will be held as an online meeting to discuss the issue. unity of design and behavior of programs on different platforms. And in the initial weeks of September 2013 it is already planned to revise the Design Guidelines documents for the desktop following the summit.

    And where is all this?

    Canonical currently has a powerful Ubuntu SDK, with support for Qt / QML, HTML5, OpenGL and Scopes (search engines running Dash for lens needs). You can grab what you need on, install the Ubuntu SDK, and read a couple of guides to get you started. While the Ubuntu SDK is in beta status, but the official version Ubuntu SDK 1.0 will be presented in October 2013, where more improvements are expected, deeper integration and increased capabilities. Since Canonical understands and realizes the need for application developers in a good and extensible platform.

    The developers show in the video material all the steps from creating an application in Qt Creator to checking how it will look on a mobile platform. Then an easy click package creation, which was quickly approved and made available in the Ubuntu repositories for users.

    My five cents after the words of Jono Bacon.
    Unity Next is the reincarnation of Unity in Qt / QML. Qt / QML will give developers the ease of adapting Ubuntu to different devices with their different screens and the presence, lack of touch, new-fangled stuff. Canonical already "played" in Qt.
    First, both Unity and Unity2D shells appear on Ubuntu 12.04. In Ubuntu 12.10, the Unity2D shell written in Qt for weak machines is declared obsolete and redundant due to its separate code base. For weak machines, Unity works through llvmpipe. In newer versions, Ubuntu declares the use of Qt / QML.
    Canonical wobbles like a bear through the woods?
    Canonical justifies itself: “At the UDS Q summit, the question was discussed - what to put on when developing Unity? Bet on Qt / QML, which was going through a transition? Or play reliably and maintain full control over what is dear to us? There were a lot of discussions, arguments behind and vs and it was decided to declare Unity2D redundant with its separate code base. Waste many months ago and tell us in the past that our fears did not materialize and Qt5 came out good, then we would not have started a debate and would have used one technology long ago - Qt! "
    The emergence of a real code base Unity Next means that Canonical has made a choice and choice - Qt.