5 Most Common Qt Myths and an Invitation

Diolinux

If you use technologies from the KDE community, VLC, Virtualbox or even Skype, you already use Qt under the hood and you may not even know it. Qt is a complete development framework for C ++ and is widely used worldwide and today we are going to demystify some myths that surround it.

From some brands of SmartTVs, Blackberrys and even the in-car system of BMW use Qt.

Even with all these “heavy” people using Qt professionally, over time many myths have been created regarding Qt and its use, and some of them persist to this day. We separated some of them to demystify this post and at the end we have a nice invitation for you who want to know more about this incredible framework.

1 – Qt is only for graphics programs

Qt Interface Design

Because it also allows the development of graphics programs, many people associate Qt only with this type of software, which is not true. It is possible to have Qt programs only in text mode as well, which greatly facilitates the life of a programmer who wants to develop a tool that does not need a graphics mode.

From making your program “talk” TCP / IP, to parsing XML code. Everything can be done by importing some Qt module into your program and using the right classes.

2 – There is no good IDE for Qt (like netbeans, or visual studio)

Qt Creator

Those who are programmers of the «old ways» may remember that before Qt 4 there was no good IDE. And many people still avoid using Qt today because of memories from that time.

What existed was only the Qt Designer, which allowed to “draw” the windows and generate a file with the extension .ui that contained the entire interface specification, and could be used in your program (using QWidget’s).

The official IDE today is called Qt Creator. It started to be developed in 2007, but it was only in 2009 that it was integrated and distributed together with Qt 4.

Qt Creator today, in addition to integrating Qt Designer, also provides a tool to develop the graphic part of your program in QML, which is one of the most modern technologies for programming graphical interfaces and which has a syntax very similar to CSS.

For those who are used to web programming, QML is a hand in the wheel. In addition to the aforementioned similarity with CSS, it is possible to add some logic to QML through javascript. And while the graphical side can be all “drawn” in QML, it is possible to make it interact with C ++ code to perform more complex tasks, such as accessing a database or making a TCP / IP connection.

To give you an idea of ​​what is possible to do, the late Unity 8 and its applications were all made with Qt / QML.

For those who like to have an integrated debugger, you can rest assured that Qt Creator allows you to debug your programs directly on the interface, just like any other IDE. There are plugins for several debuggers, such as GDB, LLDB, etc.

3 – Qt only runs on Linux

Qt Linux

This is a very easy myth to demystify, since most of the programs that were mentioned at the beginning of the article work on both Linux, OSX and Windows. The companies behind these applications did not choose Qt for nothing: Qt is multiplatform.

Developing the same program for 3 different platforms is quite complicated and not at all cheap. Maintaining the same code for different platforms solves countless problems in the development of any project.

The framework itself is in charge of abstracting as much as possible the peculiarities of each platform, so that the programmer focuses on what is most important: developing the software. In addition, Qt ensures that your program has the same appearance and integration as native applications in the environment.

4 – Qt is paid

Paid Qt

This is partly a myth and needs to be clarified, as it is a concern of many people when using Qt in their projects.

If you are developing a proprietary application, you may want to pay attention that you cannot just close the code if your program is using Qt.

Qt has some types of licenses. If you have questions about licensing, just look at the official links:

– https://www.qt.io/licensing-comparison/

– https://www.qt.io/faq/

As you might imagine, if your goal is to develop free software, and it respects the 4 freedoms of the GPL, you can most likely use Qt in your software at no cost.

5 – There is no Qt community in Brazil.

Qt Community in Brazil

The KDE and Qt communities in Brazil have always walked together for obvious reasons: KDE has a history closely linked to Qt since its emergence 20 years ago. This is still true today, and this “partnership” still persists. Much of KDE’s success is due to Qt, and vice versa.

Perhaps for this reason many people believe that there is no Qt community in Brazil. Much of what happens about Qt in Brazil can be seen on the community’s own page KDE Brazil.

Despite this almost familiar connection, Qt is a framework independent of KDE, and as you have noticed, it has been used for many other projects by large companies (Blackberry, Nokia, Canonical, BMW, etc.) for many years.

In 2016, together with Akademy in Berlin (international KDE event), the QtCon, bringing together several lectures specifically on Qt, and by the suit of the sponsors, you can see that there are many more people interested in Qt than just the KDE project.

The bad news is that for those who are interested in this type of event and live on this side of the map, it is not so simple to travel to Europe. The good news is that the KDE Brasil people were at the event last year and decided to bring QtCon here to our side of the globe, and its first Brazilian edition will take place on August 18th, 19th and 20th, 2017 in SĂŁo Paulo. There are several interesting lectures for those who like programming, technology, and of course: Qt.

At the moment the trainings are already completely sold out, but there are still some places for the lectures. If you run there is still time to guarantee your admission to the two days of lectures.

You can access the event’s official website for more information: https://br.qtcon.org/

This is an excellent opportunity to be able to learn more about the project, see real software that uses the framework, and maybe even help to grow the Brazilian Qt community.

This article was written in partnership with our Diolinux EAD teacher, Tiago Salem Herrmann.

To the next!