Qt really worth to switch on?



  • Hi

    I was working in wxWidgets so far, never used other GUI framework.

    The project I need to create relies on:
    -SQLite
    -Grid widget
    -Sockets in multiple threads
    -PDF creation
    -HTML
    -OpenDocument Format creation
    -Main focus on Windows platform

    My surrounding strongly suggested using Qt because all these requirements are integrated into Qt and have pretty stable support backed by Nokia. More over Qt has good support for mobile devices.

    If we don't consider the licensing differences between wxWidgets and Qt, can anyone with experience in both frameworks give me guidance whether Qt is really that worth to switch on?

    Marcus


  • Moderators

    Just give Qt a try: Go through the examples or do some small test project.

    Qt is LGPL (commercial licenses are available though if required), wxWidgets uses a license very similar to that IIRC. So there should not be mayor licensing issues to consider.



  • Plus you have the great Qt Docs and on top of that the DevNet where you got an answer to your question from a Troll (and not the bad kind of troll) in under an hour.



  • Indeed licenses are not into question.

    I have no problem to invest time again learning the (for me new) Qt4 architecture. However I see that Qt5 will already impose structural changes to the source code which will promote QML/Javascript programing instead of C++. In a short time maybe I will need to leave Qt4 C++ based architecture and start all over again to learn and master QML/Javascript. It seems better for newcomers to Qt to start directly on QML/Javascript.

    I just don't want to believe that Javascript will be the main language for all apps development no matter the platform, but maybe that is not far from the truth. What are your thoughts on that?



  • C++ and widgets are still a first class citizen in Qt 5. There is no need to switch to QML / JavaScript, QML is still optional and works well with C++ (instead of JavaScript).

    QML is an additional option, not a replacement!



  • Qt will be your friend.
    QML can be used with C++ without any problem, you don't have to use JavaScript. In the Qt5 you can use QWidget too (what this means: you don't have to re-design your widget based application).



  • Did some work with wxWidgets couple of years ago.
    Didn't really like it much....
    Switched to Qt; absolutely loved it.
    Very consistent, very good documentation.
    signals/slots and threads very powerful.

    So in my opinion it is definitely worth switching !



  • I've done MFC development on Windows and taken a look at wxWidget which copied ideas from MFC. You will find the transition to Qt enjoyable, and find yourself coding more quicker.

    There is more to Qt than GUI, so I do think it's worth the switch. Qt is a more modern framework with good design pattern principles, wxWidget is the old-school of coding imho!



  • Don't expect impartial advice here. Most people hanging out here, your truly included, are Qt buffs. Sure we think Qt is great, but we cannot judge if it is really for you.



  • I am totally partial towards Qt, as Andre said, but how about stating the exact reasons explicitly :-)

    Community(Qt) > Community(wxWidgets)
    Functionality(Qt) > Functionality(wxWidgets)
    Documentation(qt) > Documentation(wxWidgets)
    QA(Qt) > QA(wxWidgets)
    EaseOfUse(Qt) > EaseOfUse(wxWidgets)

    I could probably find more. The main point though is that the current trends indicate that Qt will continue to outpace wxWidgets (or GTK, for that part),



  • I will agree with the previous posts: Qt is great, but you should "test-drive" it yourself and find out if it is the proper tool for your needs.

    After using it, and since you have experience with another toolkit/framework, it would be interesting if you would give us a respective comparison of the two toolkits/frameworks! ;-)



  • Thanks a lot for the inputs. I will surely give it a try.

    From our side, as programmers, we would love easier/quicker coding which Qt provides over wxWidgets. However, I would also like to know if the users of our applications will get any disadvantages because of the framework we use. For instance, wxWidgets uses native widgets on all platforms. Drawing native widgets is probably much faster than drawing emulated widgets like Qt does. In addition, launching a Qt application (which contains the whole emulated UI) will be slower. Does this make significant impact on the user experience of a Qt application?



  • I see a lot of people saying that licensing isn't an issue. That's not true. If you are doing a commercial project and you don't want to give all your source away for free, then you'll need a commercial license. The QT license is expensive.
    As regards use. You'll need to do a lot more messing about with wxWidgets that you won't need to do with QT. QT is a more professional product in that regard.
    If using wxwidgets, I'd recommend using wxDevC++ for C++ development and Boa Constructor for wxPython development. These are visual development tools similar to Visual Studio. Note that Boa Constructor requires a new version to be able to run with the latest python tools and I had to get a version from a different site than the default. Easy enough to find through a little googling (can't remember the site off the top of my head).
    Both are good tools, but if I were doing commercial development on a budget, I'd go with wxWidgets. If fully open source, I'd probably go with wxwidgets as I wouldn't want anyone using my software to have to worry about licensing. If doing a commercial project and I had a budget, I might go with QT....especially if doing phone software. wxWidget support for ios and windows phones is limited.


  • Moderators

    @webmasterpdx

    If you are doing a commercial project and you don't want to give all your source away for free, then you'll need a commercial license

    That's not true. One of the licensing offerings of Qt is LGPL, which allows you to keep your app closed-sourced if you link to Qt libs dynamically. Since we're talking Windows platform that is the preferred deployment model anyway.

    Btw. The thread is 4 years old and it's Qt not QT (Apple Quick Time) ;)


Log in to reply
 

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