When a software product is developed, not only the product is the outcome, but sometimes many tools, which support the development process. I work as an embedded software developer. In my work many times I faced situations, that I do the same operation or set of operations repeatedly. When there is opportunity, I try to automate. Of course, if there is time to automate, because sometimes it’s not so obvious what or how to automate. Many times I create small command line tools, which usage is known only to me. When working with other developers it’s better to share these tools, but not always command line is the best. When developing helper tools, it’s better to have a GUI. A developer just selects what he or she wants and does not have to think about what command and following option should be typed.
My weapon of choice is Qt library. Why Qt? Qt is portable, is very rich when it comes to various components, if the developed tool will be free, the library is also free. The library provides a layer of abstraction, it abstracts the underlying operating system’s functions and hardware. Building Qt application is very easy with Qt Creator, Qt’s IDE with very strong C++ awareness and a graphical UI designer, the GUI can be quick created and the logic, which will drive the GUI’s operations is written in C++.
I want to learn programming with Qt and C++, because I want to make standalone tools, which can be loaded on a USB memory. Qt applications can be deployed as normal, which use shared Qt libraries, installed separately in the OS or they can be deployed as standalone applications. Of course, the only thing is that a Qt application is compiled for a given target OS. If another target OS should be support, the application has to be rebuild for that OS.
- Book: C++ GUI Programming with Qt 4, Second Edition by Jasmin Blanchette; Mark Summerfield
- Book: Advanced Qt Programming, Creating Great Software with C++ and Qt 4 by Mark Summerfield
- C++ Qt Programming video tutorials by VoidRealms
- And of course examples from Qt Creator
First book is very simple, goes from basic, through intermediate to advanced topics. Second book explains on the topics more deeply. Exploring Qt Creator’s examples is very easy, on the welcoming screen is a tab with examples – Demos and Examples.
I was previously trying to tackle the topic of learning Qt using the first book, but I couldn’t get it how some things should be made in Qt Creator. I prefer some live example, so the video tutorials by VoidRealms are just great. He does all the examples in Qt Creator, so it is easier to get familiar with this IDE.