Starting with Qt5



  • Hello everybody.

    Some time ago I started reading about Qt4 and the concepts of signals and slots but then I stopped. Now I have found that there is a new version Qt5 and would like to learn it throughly. But I have some questions:

    1. Is there a book on Qt5? As far as I searched there is none (perhaps due to it being new)

    2. Any other pointer on how to start learning about it

    3. There are two downloads: One is for Qt and the other one for Qt Creator.
      If I install Qt Creator, will Qt will be installed by default? Or should I install both?

    I am planning to learn it on my mac but ultimately I will have to create applications for Linux. Any advice or comment on that?

    I will really appreciate your pointers on these.

    Thanks a lot
    Kansai



    1. I never had a Qt-book, but you can read the documentation. Aside from all the classes' explanations, there are lots of examples (most quite small) and also lots of background articles about certain concepts in Qt. All of this is accessible right inside QtCreator, without an internet connection - so if you don't mind the lack of guidance, you will find everything there, in great detail.
      Aside from that, Qt4 is very, very similar to Qt5. A good Qt4 book should suffice to teach you the basics - the rest has to come through practice anyway.

    2. I started by creating a GUI for a program I wrote before. That was a good start since I only had to use Qt superficially, in every meaning of the word. And, over time, I dug deeper until I had replaced my old program with nothing but cute code.
      But: Qt is huge, so it will take some persistence and some practice until work starts to be really fun.

    3. You need Qt, it does come with QtCreator (which is a great tool to code, my personal favorite). You don't need to download the separate QtCreator.

    *) Your code should be easily portable, as long as you learn to step away from any non-cross-platform code and search the Qt documentation until you find the corresponding Qt counterpart. There is one, in nearly all cases.
    I have been using Qt for some years and I learned that it's really useful to browse the documentation (inside QtCreator). At first it is tough, but once you get the basics down and start exploring Qt's classes, you will find a near infinite amount of useful things that will enable you to tackle (almost) every problem.



  • A list of recommended books is available "here":http://qt-project.org/books. I don't see a book about Qt 5 among them but you can always rely on the "official documentation":http://qt-project.org/doc/.

    The following articles are agood starting points:


  • Moderators

    Qt4 books, especially the official one, are very good. I recommend installing and learning Qt4 first. Once you are fluent in that, transferring to Qt5 is a piece of cake: it's almost fully source compatible. Learning Qt5 using a Qt4 book should be doable, too, but there will be places where it will only confuse you.



  • Thanks for the input

    I am trying to install Qt in my pc online but got the following error:

    "Could not fetch Updates.xml from repository Qt Android for Windows-x86 host online repository Error Connection closed"

    What could be a way to solve this and successfully install Qt.

    By the way the offline installers have several versions. Which one should I get?

    My machine is windows 7.


  • Moderators

    Take this one: Qt 5.1.1 for Windows 32-bit (MinGW 4.8, OpenGL, 666 MB) if you want to try Qt 5.



  • thank you for the fast reply.
    Should I install MinGW before separatedly?


  • Moderators

    I'm not using Windows, so I won't say for sure, but I think MinGW is being bundled with the SDK. So you don't need to install anything.


  • Lifetime Qt Champion

    Hi,

    MinGW is bundled with the installer so there's no need to install it from somewhere else. You can just install and start enjoying Qt :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.