tags:

views:

423

answers:

5
+1  Q: 

wxWidget question

I use C++/MFC programming for developing some very basic applications. but I am looking for a C++ framework which can enhance my productivity as well as use the drag and drop feature(so that I can write programs like in .NET just drag controls and drop). and give me the C++ speed and native .exe + small .exe.

can wxWidgets give me such things ?

which one do you think is better ? MFC or wxWidgets ?

A: 

Sure, perhaps this page will help you with the sort of tools you want, I personally have used DialogBlocks and found it very good, all depends on what you are looking for though.

As for small exes, wxWidgets is not known for them, again the wiki has more information.

SteveL
+2  A: 

Unfortunately, I haven't found a tool in WxWidgets to compare to the ease of use that Visual Studio has for GUI design. Part of the problem appears to be the sizers feature. Yes you can drag and drop, but moving features around on the interface after they're dropped into it is very difficult with sizers. Once you figure out sizers, then you get a feel for it as I did. I've only tested DialogBlocks and found it had similar issues, but I'm not a pro at using it.

If you're looking for a better GUI design tool, then Qt might be a better fit with it's QT Creator tool. However, Qt is not as MFC like as wxWidgets is. The license as of 4.5 has gone from GPL to LGPL which is a less restrictive license (depending on point of view).

DoxaLogos
maybe i will stick with MFC.
Attilah
Qt is well worth a look.
Rob
A: 

As you've reworded the question, it's still somewhat subjective, but I'll take a stab: if you want something that's "more rapid" and "more productive" than MFC, but still produces Windows native executables, then, clearly, you're better off with wxWidgets.

It raises the question, though, of why you want to keep the executable native? You say "very basic applications"; are you actually using any of the "deep" functionality that the API gives you?

If you aren't, why not switch to a CLR language? Then you'll get your rapid interface building, and have a lot less housekeeping to deal with.

Adrien
A: 

If you are interested in wxWidgets then you can use wxDevCpp or Code::Blocks with the wxWidgets plugin.
Both are very recommended.
MFC from my experience is evil. You'll better do without it.
wxWidgets is much better in terms of design although it still refuses to use more modern C++ techniques. There is quite an improvement on that department but it's still lacking in my opinion.
If it's only for Windows I'd go for SmartWin. Winelib also ports this library to linux.
In any case use what you are most comfortable with.
Good luck.

the_drow
A: 

If you do use C++/MFC programming for basic applications and are looking only for enhanced productivity, then you should start by splitting the GUI from the functional part of your programs, then you are free to use C++/CLI (.NET) for the pretty shining things.

I personally hate .net (and tolerate Java) for everyday desktop applications, will not touch it beyond using it as a RAD tool (as a new VB, better yet since you can use IronPython :) ), in any case you should get a pretty much complete toolbox with less strings attached and a better API and learning curve (to MFC and wxWidget) if you use the new LGPL Qt library.

As for the last two questions the answer is no, not really. wxWidgets is, simply putting it, a portable MFC (the API and class structure is closely related, but saner) but it lacks many of the new cool features of MFC (VS2008+) and doesn't integrate as easily as Qt with the VC++ IDE.

MFC sux (very outdated) but if you aren't worried about portability and want only a pretty Windows GUIs (with no other consideration) you should stick to it (or doing the GUIs in .net), you will have stable library and with easy to find information on the WEB, see codeproject site if you have any questions and if do have the time then explore Qt, it integrates well with VC++ and has a GUI creator, it is also very complete and professional.

PS: I'm also working with MFC and I'm a little more concerned with portability and the footprint of the application, Qt is a hog on memory, I've also found FLTK2 and have liked it very much but it is still too impractical for complex GUIs.

Panic