Assuming you came here already knowing about Qt, but just in case — Qt is a powerful cross platform set of libraries (some call it a framework) that run anywhere from Windows, Linux, Mac, iPhone, Android, Embedded devices like raspberry pi, your TV, the dashboard of your car, probably millions of devices you never even thought of.
So…Qt is powerful… but…
There are competitors
Seems like every day there is some new framework and everyone rushes to it — Flutter comes to mind.It promises a lot, has deep integration with Google, and honestly probably has the ability to just about anything. Flutter is still very young, having some growing pains and really lacks a polished desktop experience, and you can basically forget about hardware integration in terms of embedded devices. Knowing google all that will change eventually — but the major point is, Qt is already doing what Flutter promises to do eventually.
C++ has a steep learning curve
I’ll let you in on a secret — I really disliked C++ at first. A long time ago I switched from C# to C++ for a project and it felt like a giant leap backwards. I don’t care about memory addresses or if my code is 1ms faster, I just want to be productive NOW….not 5 months from now. It was not until I learned C++ and went back to other languages (Python, C#, Flutter, Java) that I really understood what makes C++ so powerful. All those other languages all have one thing in common — a limit on what you can do. Once you hit that limit you look toward C / C++ to go beyond that limit. Usually in the form of a lib that you inter-opt with.
It’s not trendy
Before covid was a thing, I was sitting in a bar with some friends and a mutual friend walked up with a group of people the groups of nerds merged and the conversation turned toward programming, hacking and all the things you would expect from a bunch of beer fueled geeks let loose on society. Most of them talked about java, python, someone mentioned flutter some comments about react native, someone else jumping in with .Net— I spoke up and talked about C++ and Qt, no one had heard of Qt and a few laughed about C++ being so 1990’s. I smiled, drank and ate junk food. The conversation kept getting more complex and they started comparing the limitations in their language and framework. Eventually one of them looked at me (Mr. Flutter Fan) and mentioned I was not really chatting about C++ or this “Cutie thing”. I talked at length — probably longer than I should have — about C++ really having no limits and there is a C++ lib for just about all the limitations they mentioned, and by the way Qt is built on C++ so really there is no limit. Factor in you can call other programs in other languages and frameworks along with direct operating system API calls it really can do anything. The entire table was silent and just stared at me.
What really makes Qt the best choice?
It’s hard to really define one thing. Qt does so much because C++ does so much. Add in Qt Quick and QML, and this technology really goes places that other languages and frameworks can only dream of. Sure all languages and frameworks can really do about anything — I’m often shocked to find out some cool software was written in some obscure language I had not known much about. At the end of the day languages and frameworks are just tools in a toolbox. Each tool has a specific use. Use the right tool for the job.
When I venture out into other languages and frameworks, there is always this hype, this hard to define “cool factor”, being in the elite few that are working with the hot language of the month…until I hit that ceiling — that impassable hurdle that makes the project difficult to move forward with. I am not saying Qt is perfect — far from it — but after years and years of working with Qt and C++ I have yet to find that ceiling.
Awarded Content Creator in the 2020 Qt Champion Awards:
“Bryan has a few courses available on Udemy, specifically his course on Qt 5 Design Patterns and also has a popular group on Facebook which helps others with their Qt questions as well. For his work alone in creating the Qt 5 training course online for everyone to benefit from it was easy to make him our year’s Content Creator.”
Also we have a rich community of developers in the VoidRealms facebook group — Im in there all the time asking questions and helping others.
Free tutorials on youtube
Qt 5 Core for beginners with C++
Qt 5 Core Intermediate with C++
Qt 5 Core Advanced with C++
Qt 5 Widgets for beginners with C++
QML for beginners with Qt 5
Follow me on: