Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


wxWidgets vs. Qt


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 MARS_999   Members   -  Reputation: 1297

Like
0Likes
Like

Posted 31 December 2011 - 04:24 PM

Anyone here used both?

Is it true that Qt is now free to use in your own projects? e.g. SDL or SFML

Meaning do I need to pay to use it in my own projects, even if they are commerical?

Thanks!

Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 6294

Like
0Likes
Like

Posted 31 December 2011 - 06:05 PM

Anyone here used both?

Is it true that Qt is now free to use in your own projects? e.g. SDL or SFML

Meaning do I need to pay to use it in my own projects, even if they are commerical?

Thanks!


You've never had to pay to use QT in commercial software. (The GPL (Which QT used a very long time ago) doesn't forbid commercial use or selling binaries, it only requires you to provide the sourcecode to your customers under the same permissive license)

QT currently uses the LGPL(Which is a bit more permissive than the GPL) v2.1 (Same as version 1.2 of SDL) which works fairly well unless you:
1) Want to distribute your software on a platform that prevents the end user from modifying the LGPL portion of the software, (iOS and consoles for example)
2) Intend to make significant improvements to the LGPL licensed library and wish to keep those secret.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#3 MARS_999   Members   -  Reputation: 1297

Like
0Likes
Like

Posted 31 December 2011 - 06:59 PM

Ah I see, thanks!

So anyone here prefer one or the other?

#4 swiftcoder   Senior Moderators   -  Reputation: 10361

Like
0Likes
Like

Posted 01 January 2012 - 11:48 AM

So anyone here prefer one or the other?


Speaking from (somewhat limited) experience of the two: QT strikes me as both more feature complete and more polished. However, it's more than just a library - QT includes several custom extensions to the C++ language, that require the use of their own 'pre-compiler', so you also tend to become tied into their build system/ecosystem in a way that I don't personally favour.

You might also consider GTK+ in relation to these two, though I find that their support for Mac/Windows is not as perfect as one could hope for.

My personal preference would be to avoid monolithic UI toolkits entirely. Go with something like Adobe Air or Mozilla's Prism, and build your UI in HTML/CSS/Ajax with a local loop server to communicate with the backend...

Tristam MacDonald - Software Engineer @Amazon - [swiftcoding]


#5 Seaßourne   Members   -  Reputation: 104

Like
1Likes
Like

Posted 07 January 2012 - 02:36 PM

You can view Qt as the C++ version of the .NET.I've personally have used Qt, and still continually use it for applications. The thing Swftcode complains about is the MOC (Meta Object Compiler). While it has it's flaws like you can't use it on template classes. I personally see no reason to complain about it as it is done behind the scenes, and you never have to manually do it. MOC also allows you to invoke constructors, properties, et cetera. I've create a powerful SQL library based on the meta object system of Qt and it is really nice. Just because of that shouldn't influence you not to use it. While it is big I do agree, but it is the most powerful GUI library for C++. I've hardly ever had to rely on boost for features, or 3rd party libraries, but then again I don't create a huge something to need billions of dependencies. Qt has it's own IDE (Qt Creator) although you can still use Visual Studio if you prefer. You just need the VS plugin. Qt also has Linguist, Designer, Documentation (all applications) for multi-language support, design your gui, and documentation respectively. Another thing, you don't have to touch raw api's like Gtkmm, wxWidgets. The documentation for Qt is well written and provides a ton of examples.Just look at all the major companies that use Qt. If you look on C++ job postings a lot of them would like ones with Qt knowledge.JS.
Qt has been free since version 4.5.0 and it's at 4.8.0 right now (just released 4.8.0). It has support for OpenGL like QShader, QMatrix4x4, etc. Although you might have to extend it somewhat. It also just recently added a class for raw gl functions.

I haven't used wxWidgets in a long time, but I didn't even like it then. I cannot stand the message map garbage like you see in MFC. It is too bloody ugly. wxWidgets string class isn't that powerful as QString. wxWidget's networking class is really awful. You don't get that many options/signals to be notified of. You will have to implement most yourself. It doesn't even have SSL support afaik, nor does it support proxy out of the box. While Qt has Udp, SSL, Http, Proxy, Local sockets, etc. Personally the documentation is hard to navigation and just ugly. The build system isn't any better. You have to manually edit a configuration file to set it up. Sometimes it just a pita to do. Qt's favour more of the autotool like ./configure -ssl --no-webkit, etc, but it doesn't use autotools.

#6 AllEightUp   Moderators   -  Reputation: 4267

Like
0Likes
Like

Posted 12 January 2012 - 01:45 PM

I'm also a believer in QT versus wxWidgets for all the above reasons. Given the QT integration with CMake, which I use for generating VC/gmake/xcode etc builds, the whole Moc business is really not so bad anymore. Overall though, as much as I tried to like wxWidgets it simply doesn't have the support and professional level of quality which Qt does. The other additional item which I find much more important is that everything generally just works when going from OsX to Win32 to XWin, there are only a very few gotcha's between the platforms compared to wxWidgets which has a lot of "#if _WIN32/#else/Etc" stuff needed to keep everything happy on the related platforms.

As to the freedom level, you have been able to use QT for a very long time but the Designer (a pretty integral part) if used generally triggered the GPL such that you had to buy a license just for the designer or open source even internal tools. This is the biggest change made in the last couple years, the designer no longer triggers the commercial clause, and makes the platform appropriate even for internal use only if you need something quick and easy to use for GUI systems.

#7 dublindan   Members   -  Reputation: 457

Like
0Likes
Like

Posted 14 January 2012 - 05:15 PM

I haven't used wxWidgets in a few years, but I do a lot of Qt development nowadays. Qt is a very solid, complete, modern and well designed framework with many components which you can pick and choose from. Using the precompiler is only necessary for QObject derived classes like widgets and windows, so if this causes a problem, its possible to factor those parts out so you can precompile them separate from building the rest of your executable and then only re-compile with the Qt MOC (metaoblect compiler) if you change those classes.

I would personally highly recommend Qt for GUI development, especially if you use C++ or Python (PyQt, Pyside). In the past, I have used wxWidgets, GTK+, FLTK, Fox and Qt in C++, PyQt, Tk and PyGTK in Python and Swing in Java and out of all of those, Qt is my favorite one.

#8 RobTheBloke   Crossbones+   -  Reputation: 2341

Like
4Likes
Like

Posted 17 January 2012 - 11:30 AM

I've used both.
Qt is great for producing high quality apps with the minimum of effort.
Wx is great for making you realise you should have used Qt.

#9 mdwh   Members   -  Reputation: 901

Like
0Likes
Like

Posted 27 January 2012 - 08:51 AM

I love Qt, and use it both for cross-platform desktop and Nokia smartphone development. I don't have experience of wxWidgets, but I have previously used toolkits such as MFC, Windows Forms, Java Swing. Note that Qt isn't just a GUI toolkit, but a complete application toolkit with APIs for a large range of different things (e.g., graphics rendering and processing, sound, network, multithreading, mobile support).

It's true that it kind of is a whole development environment in itself, with modifications made to C++, but that's not that different to say using .Net/Windows Forms with C++. It's still easy to get it to compile on Linux using the standard make system. Qt Creator is a perfectly good IDE (though it's apparently possible to use Qt with Visual Studio?)

You've never had to pay to use QT in commercial software.

Actually, ISTR at one time Qt was only free for Linux, but Windows required the proprietary licence ( http://en.wikipedia....mework)#History confirms this). Although yes, that's old news now.
http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://homepage.ntlworld.com/mark.harman/conquests.html - Conquests, Open Source Civ-like Game for Windows/Linux

#10 clb   Members   -  Reputation: 1787

Like
1Likes
Like

Posted 27 January 2012 - 12:48 PM

We used wxWdigets, and then realized its featureset is quite short compared to Qt and switched to it. I think Qt is better. Though, in the past two and half years, Qt has made me cry to sleep many many times.
Me+PC=clb.demon.fi | C++ Math and Geometry library: MathGeoLib, test it live! | C++ Game Networking: kNet | 2D Bin Packing: RectangleBinPack | Use gcc/clang/emcc from VS: vs-tool | Resume+Portfolio | gfxapi, test it live!




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS