"Well begun is half done."
Aristotle
An adviser or an instructor? Or for naysayers, an agitator? Ha ha, that's what you would call me for I have (hopefully and probably) persuaded you to learn Qt with me in this series.
Without being a Victorian writer with much abstruse metaphors and without further ado, let us (really) start this series now.
What will we be doing today?
Let me prompt you a question first: what would you do before using a piece of software, given that "software" could also be a tool or a library used in different programming languages.
Don't answer me that you're going to download the package from the Internet or going to learn how to use the piece of software. Those are not quite accurate. Now, as a rule, before we use a piece of software (except the ones which are out-of-the-box zip files or install-on-disks programs), we must install it using an installer, as you would do for 90% of (especially Windows) programs.
Qt can't be an exception. It must find its way to install itself.
It All Started at that Snowy Night, on that Website...
Qt-dot-I-O
Open your little browser and type in this address: qt.io. This should be launching the official website of Qt. Any docs or examples that you would like to take a look later may also be found here. Here is the screenshot from about February, 2025. Your version may vary:
Click on the button "Accept All Cookies," as what you'll do when visiting every website. Normally, accepting all cookies does no harms to your computer as it only stores your footprint or preferences for a short period of time but not any personal data, so that the web server could remember your choice and be improved. If you really mind these configurations, do configure them in "Cookie Settings."
Anyway, after this, click on the "Download. Try." button, or the button somewhat similar. You'll see (again, your version may vary):
Click on the "Community User" link. As mentioned in the previous article, Qt is dual-licensed. If you do use Qt in your business or use it as a tool to generate profit, you need to pay the Qt Group. Otherwise, as long as you're open-sourced (or otherwise complying with the LGPL License), you're free to download to use, and good to go to install.
Then, scroll till you see a banner called "Looking for Qt Binaries?". Your version may vary, but there should always be a banner somewhat similar to this, and you will click on the "Qt Online Installer".
Choose the operating system you're using. Be careful of the architecture, i.e. whether you're using a 32-bit computer or a 64-bit one, or you're using an Intel chip or an ARM chip (i.e. Apple chips series) or not. If you do not, Qt would be very naughty.
I'm using a 64-bit Windows with an Intel chip. But the procedures should all be the same.
If there are no Internet problems, you should download your online installer in a short time.
Running the installer
Execute the installer. You'll be prompted to fill in your Qt-account and password. Believe me, it's very safe to register one. You won't be giving any crucial personal information to the Qt Group, but instead, just a few steps would do and you could access to the Qt Forum (the programmers' forum similar to Stack Overflow) and the Qt Academy (the place where you could learn Qt better if you found these articles unhelpful), besides the rightful access to the installer. It's quick and completely free without any credit cards. Believe me.
Then, click "Next." You will agree to the License Agreements, which is all based on the famous open-source license, the LGPL License, as mentioned previously.
Preferences
Click "Next" twice. Select if you would like to contribute to the development of the Qt's exclusive IDE, the Qt Creator. It's always Okay not to opt to improve, and no features provided would be affected. But as an open-source writer and developer, I always choose "Yes," and believe me, there's not really much information that the Qt Group could steal. Click "Next" again.
Selecting paths and modes
Now, it's time to select the installation path. Normally, I suggest you choosing C:\Qt
on Windows, or ~/Qt
on UNIX-based systems (macOS, GNU/Linux, BSDs, etc.), for as a generally rule of software development, choosing the given and default installation path should always be the easiest to manage or to update.
Also, choose "Custom Installation." I'll guide you how to choose the components next.
If you have already a favorite code editor or IDE for your .cpp
files or .h
files, etc. like CLion or Kate, then I suggest you de-checking the option "Associate common file types with Qt Creator." It'll override your settings and make your favorite editors not be the default ones to edit C++ source files. On the other hand, if you are just a newbie at C++, I strongly suggest you checking this option. Qt Creator is one of the most powerful and strongest free-and-open-source IDE on this planet for the C++ programming language.
Choosing components
Now it's the big part: how to choose the components? Let me dissect for you:
For Qt Design Studio, it's a powerful tool to design for QML file (the programming language crafted by Qt), even more powerful than its exclusive C++ IDE, Qt Creator. QML is basically the spokesperson of the mobile support of Qt, as well as Nokia (Nokia has once owned Qt from 2008 to 2012). But since I'm not that into Qt-based mobile development than native APIs or web-based APIs, I will not introduce it as much as I will do for Qt Creator later this series. Also, without QML, Qt Design Studio is not really that used for C++-based Qt Widgets, where the Qt Group started with.
Long paragraph short: choose it if you're really a copain of Qt-based mobile development. I am not.
For extensions, they are the extended components for the advanced Qt users to develop their application with demand of more advanced features. They include:
- Qt Insight Tracker provides the programs tracking application usages of their application or device. I have never used it and thus it will not appear in this series.
- Qt PDF provides the programs rendering PDF documents, including showing, bookmarking, parsing and interpreting them. I will be using this component later this series, as to make our own PDF viewer.
- Qt Web Engine provides the programs rendering web page and displaying them, based on the Chromium cores. In other words, you could just build a full-featured browser using this component. (How powerful Qt is.) We'll, definitely, be using it later this series for making our own browser.
Here's the detailed explanations on the cores of the Qt components. You are advised to select all of them. To select all of them, just check the version number:
I'm just trying as I might to sum up the key Qt components sentence-pass and in simple words.
- Active Qt: a C++/Qt binding of the ActiveX framework on Windows.
- Qt 3D: the best 3D rendering tool by native Qt, with features like Unity or Unreal Engine.
- Qt 5 Compatibility Module: some useful features like
QTextCodec
are marked deprecated and removed in Qt 6 by the airhead Qt developers; and they're requested to add them back. (But this module will still be replaced in Qt 7, so sad). - Qt Charts: a module for plotting 2D charts.
- Qt Connectivity: a module for basic Dial-up, (W)LAN, USB and VPN support.
- Qt Data Visualization: a module for plotting 3D charts. (I don't know why they did not name it "Qt 3D Charts".)
- Qt Graphs: a module aims for integrating and replacing Qt Charts and Qt Data Visualization.
- Qt HTTP Server: a module for serving files by the HTTP protocol, as the name suggests.
- Qt Image Formats: a module for providing extensions to interpret and parse different image file formats, namely
.gif
,.icns
,.ico
,.jpeg
,.pdf
,.svg
,.tga
,.tiff
,.wbmp
and.webp
on Windows 11. - Qt Language Server: a module for providing support to the Language Server Protocol by Microsoft; it's mainly for the C++ and QML programming languages.
- Qt Location: a module for accessing and presenting map data, making touch gestures, querying for a specific geographical location and route and adding and searching places and layers on top; in other words, a module like Google Maps.
- Qt Lottie Animation: a module for using the Lottie animation framework in QML.
- Qt Multimedia: a module for recording and presenting the multimedia data platform-independently, including videos, audios and cameras.
- Qt Network Authorization: a module for providing network authorization, namely Open-Authorization versions 1 and 2.
- Qt Positioning: a module for testing and retrieving position information like the current location and speed.
- Qt Protobuf and Qt GRPC: a module for parsing specific data formats like Protobuf (Protocal Buffer).
- Qt Quick *: a module for assisting QML libraries.
- Qt Remote Objects: a module for manipulating the remote devices like GPS and printer access.
- Qt Sensors: a module for sensing the device environment, e.g. speed, acceleration, humidity, axes, etc.
- Qt Serial Bus: a module for accessing various serial bus protocols, like CAN, ModBus, and etc.
- Qt Serial Port: a module for accessing various serial port functions like configuration, I/O operation, etc.
- Qt Shader Tools: a Qt port for the Shader Tools.
- Qt Speech: a module for converting text to speech. The voice is similar to the Google Translate ones.
- Qt State Machines: a module for creating state machines.
- Qt Virtual Keyboard: a module for creating virtual keyboards. (That are, the ones you will see on phones.)
- Qt Web Channel: a module for enabling peer-to-peer communication between a server (could be made with QML or C++) and a client (could be made with front-end languages like HTML or JavaScript, or QML).
- Qt Web Sockets: a module for providing web-based protocol designed to enable a two-way interactive communication session between a client app and a remote host.
- Qt Web View: a module for making browsers, same as the Qt Web Engine above, but it is for the QML fans.
Also, you will select the following build tools of their latest versions:
- MinGW,
- CMake,
- Ninja and
- OpenSSL Toolkit.
They're useful in building in different scenarios.
Lastly, the first-in-cosmos IDE, Qt Creator, should also be installed of its newest version. If you have space, I do suggest you also installing the debugging symbols and plugin developments.
The trivia
Finally, click "Next" to agree with (again) the GPL/ LGPL license. Click next
(Windows exclusive): On windows, there's an additional step: you're then about to choose the start menu folder. If you wish to access Qt Creator (and, presumably, the other essential tools) from the start menu, add Qt to the menu, then click "Next." Don't hesitate:
Then, you're guided to a page called "Ready to Install." You will know how much space will the installation cost. Normally, these configurations cost around 40 GB, which is still quite feasible on modern PCs. However, if you feel they're still too big, try de-select some components like the additional libraries or external tools by clicking the "Back" button multiple times.
Click "Install".
Finishing
As I have already had Qt installed, I could not really show you the whole installation process (with apologies!). The installation takes about one hour or two, depending on your Internet connection and the query/ request of the Qt code mirror that day.
If you finished your installation, you can relaxedly check out the newest README file, explore Qt Creator, and most importantly, prepare for your odyssey of Qt.
Top comments (0)