Hi, I want to learn Qt



  • Hello, everyone
    I'm a .net/silverlight programmer, I use C# and xaml.
    I wrote a lot applications using silverlight and wpf, I also write some websites using asp.net mvc, and several years ago, I also use java.
    Since microsoft has given up their great technology silverlight (at least I think so), and wpf may be the same destiny, I tend to learn something else for desktop and lob applications.
    I never learned C++, I heard it was very hard, But I think qt is beautiful and cross platform, and C++ is really useful.
    So what should I learn first? C++11 or C? then what?
    Some Books or blogs or videos ?
    is it the right decision to use qt write desktop lob applications (access sql server, sqlite, orm, chart, async)?
    Is there any framework like mvc or mvvm?
    And the final question, will you support qt for at least 5 years more?
    Thank you.


  • Moderators

    • last one first: Qt is very, very unlikely to die. It's a popular Open Source project, even if Digia drops it (but there are no indications that this will happen), Qt will continue to live. Many other companies support the project with money and developer time (KDAB, Intel, ICS, etc.)
    • "is there any framework" - yes. Many parts of Qt support MVC
    • "is it the right decision" - yes. Qt is perfect for both desktop and mobile development. You write the code once and it just works, on all platforms (depends on your project, of course, sometimes changes are needed, but usually those are just small ifdefs). Yes, SQL is supported in QtSql module
    • "books on Qt":https://qt-project.org/books "YouTube channel of Qt":http://www.youtube.com/user/QtStudios/videos?view=0&flow=grid "VoidRealms Qt tutorials":http://www.youtube.com/user/VoidRealms/videos?view=0&flow=grid
    • you need to know C++ (at least some basics), then Qt. That's it, and you can learn both at the same time
    • c++ is harder than many other languages, but it's very flexible and powerful in return. And since you do know C#, a lot of stuff will look familiar


  • Thank you, sierdzio, it really helps a lot.
    I will learn Qt from now on.
    And Thank you again.


  • Moderators

    Pleasure. Feel free to ask more if you need more info.



  • I think you need to learn the bascis of c++ and then you can start learn Qt.
    I have started to learn Qt without learn c++ and it was hard to understand some point.



  • Thanks Beberd, I will Learn C++ first.



  • [quote author="solenovex" date="1364005716"]Thanks Beberd, I will Learn C++ first.[/quote]

    You can actually get away with very little to no C++ and just use QML instead. But if you go for that approach your clash with C++ will be hard after you get used to QML and JS. If you learn C++ first your progress will be slower but you will get QML and JS for free.

    C is the ABC of programming, even if it is not used in Qt it is almost entirely supported as a subset of C++. And it is what does most of the work, and when you get to know both languages you will realize that C++ is just a tool that generates hidden code for you and saves you some work.



  • [quote author="utcenter" date="1364034501"]

    You can actually get away with very little to no C++ and just use QML instead. But if you go for that approach your clash with C++ will be hard after you get used to QML and JS. If you learn C++ first your progress will be slower but you will get QML and JS for free.

    C is the ABC of programming, even if it is not used in Qt it is almost entirely supported as a subset of C++. And it is what does most of the work, and when you get to know both languages you will realize that C++ is just a tool that generates hidden code for you and saves you some work.

    [/quote]

    I'm not in a hurry, I think i will learn C++ first, And I've learned C like 11 years ago..
    For now, I can still write apps using silverlight/wpf, and maybe two or several months later, I will start using qt in new apps.
    Thanks.


Log in to reply
 

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