I want my app to be able to manipulate images and create watermarks and also needs to run on both windows and mac. Hence I've been investigating QT.

Does QT ship with all the libraries I will need to achieve that? or will I have to get other standard C++ libraries? If so is it worth doing the project in QT?

  • Is the question about comparing Qt containers (like QVector) with STL ones (like std::vector) in the C++ standard library? – Basile Starynkevitch Dec 6 '11 at 8:47

Not sure about explicit support for watermarks but graphics support in QT is EXCELLENT - I don't believe you'll need anything else outside of QT for graphics, or for just about anything else for that matter. It's a pretty comprehensive computing platform and IMO any project is worth doing in QT - it's a great platform.

But if you're delivering commercial software, it's not always openSource - check out the licensing restrictions - you may have to pay for commercial use.

BTW, if you're looking to go cross platform with QT, I'd look at Python-PyQt. PyQt will make your life much easier - and unless you're doing something that really requires C++ 'down to the metal' performance, the performance hit will be neglible on modern hardware - PyQt is mostly a thin wrapper on native QT but without all extra work of C++, and the Python run-time builds compiled native C libs as it executes.

As for the learning curve, if you're an accomplished C++ developer, Python will be a 'piece of cake'.

  • 3
    Qt licensing has changed somewhat. The need for commercial license only applies if you want to link statically (since that would break LGPL) or you want to modify Qt but keep your modifications closed. If you are linking dynamically, you are fine with LGPL, unless you need enterprise support which comes with the commercial license – Tamás Szelei Dec 6 '11 at 8:11
  • @Mikey, QT appears to do a good job of UI if one tries. I'm pretty new to c++ but I've done Object Pascal in the past and even though c++ has not begins and ends, it somehow reminds me of Object Pascal. Anyway thanks for you're reply. – Roman Dec 6 '11 at 10:45
  • I'm mostly a Delphi guy but also done plenty in C++ and C#. Python syntax is very straightforward - basically just substitute an indentation block for {} or begin/end. Python's handling of types is a challenge when you're coming from a statically typed language - but it's great once you get it. PyQt comes with QT designer for building GUI's without coding, 'makepyqt' and (a few others) generate Python code from the XML of QT designer. When I do something new in GUI development, I use QT designer/makepyqt to see how to do it in Python. The documentation for Qt/PyQt is OUTSTANDING - a big PLUS. – Vector Dec 7 '11 at 0:03
  • You might want to check out this thread: programmers.stackexchange.com/questions/123100/… – Vector Dec 7 '11 at 0:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.