Starting with Qt 5.5



  • Hello lads,
    So I'm a beginner and have done really little GUI programming, where would ye say I should start. Should I just read up on the documentation? I'm thinking a book would be better though I would like it to be on Qt 5.5. I've found books and they're on Qt 4 and 3.
    Would Application Development with Qt Creator, 2nd Edition be a good one? And maybe I could pickup Qt5 Blueprints after

    I've also googled but posts are from 2-3 years back. Thanks!



  • I would say that books on Qt 4 are OK to start with if you're sticking to the C++ side of Qt. Then Qt comes (or at least used to come) with nice examples you can compile and look at the the code.



  • @JohanSolo Yea I'll be sticking to the c++ side of things for now. Which Qt 4 book would you recommend? Thanks



  • Well, I'm a beginner to Qt, but also to QtForums, any at least you've figured out how to post a question. I've got a problem with QStringList and can't figure out how to ask for help.

    FWIW, Here's my problem:
    Error message:
    test1.cpp:7:1: error: ‘colors’ does not name a type

    code:
    #include <QtCore>
    #include <QStringList>

    // g++ -o test1 test1.cpp pkg-config Qt5Core --cflags --libs -fPIE

    QStringList colors;
    colors.append("Blue");

    int main (int argc, char ** argv)
    {
    return 0;
    }


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Please don't highjack other users thread with unrelated questions.

    As for your problem, it's not a Qt problem but C++ basics: colors.append("Blue"); is in a wrong location. Put it in you main function and it will build.



  • I was thinking of getting C++ GUI Programming with Qt 4, Second Edition and then getting Qt 5 Blueprints as well as going over the documentation. How did ye learn Qt?


  • Lifetime Qt Champion

    @ChajusSaib are you asking me ?



  • @SGaist Yea, I'm asking anyone who's reading.


  • Moderators

    Hi @ChajusSaib,

    How did ye learn Qt?

    In the beginning, I learnt Qt by following online tutorials: I read the code and the explanations, and then I typed out the code myself (not copy+paste!). Then, I modified the code and rebuilt the app to see how my changes affect the app.

    After that, I learnt Qt by implementing my own small projects using Qt. (I find it easier to learn when I want to achieve something specific.) When I got stuck:

    • I searched Google (for example, searching for "regular expressions Qt"), AND/OR
    • I read the documentation of the classes that I want to use, AND/OR
    • I posted in the forums (I started at qtcentre.org but now I spend my time here at qt.io).

    Nowadays, I learn Qt by:

    • Doing the same things as before, AND
    • Implementing large projects using Qt, AND
    • Reading the problems that other people have, and then researching how to solve them, AND
    • Reading the source code of the classes that I'm interested in.

    In summary, the way I learnt Qt changed as I got more experienced.

    I know that different people have different ways of learning, and some people like books more than online tutorials. I haven't read any Qt books myself so I can't suggest one for you. However, I suggest you start by following the official tutorial for beginners: http://doc.qt.io/qt-5/gettingstartedqt.html


  • Lifetime Qt Champion

    I started with Qt at school, then used it for work and learned by practicing, reading books and the documentation. Depending on your needs, you could also be interested by courses from enterprises like the Qt Company, KDAB, ICS etc.



  • @JKSH
    Thank you for that great explanation, I think I will follow the documentation and the ways you learned Qt. The doc is up to date unlike the books and probably have best practices etc. And I will just work my way up from there. Thanks

    @SGaist
    Thanks for the feedback but I'm not looking for courses.


  • Moderators

    Welcome to the world of Qt :) Happy coding!


Log in to reply
 

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