Please use wxWidgets

N

Nomen Nescio

PLEASE USE WXWIDGETS

Please use wxWidgets, the multiplatform C++ class library. It's free, open-source
and non-commercial. It's modelled after MFC but it produces code which can
be compiled (using conditional compilation) into native code executables with
the speed and UI look of the platform for which the compile is targeted. So
the Windows executable looks (and is) a real Windows program, the Mac OS X
executable looks (and is) a native Mac OS X program and the Linux executable
is and looks like a real Linux/GTK+ application. It has been in development
by a band of open-source programmers led by Julian Smart for over a decade
(12 years to be exact)!

So code in wxWidgets and your program will run on both Windows, Mac OS X and
Linux, natively. Three for the price of one! And it's much easier to use than
MFC. Dialogs and Windows are easy to design using the DialogBlocks WYSIWYG
UI creator (not free and commercial, but low cost). So prepare your software
to be independent of platform and be prepared for the future.

See http://www.wxwidgets.org for more information.
 
V

Victor Bazarov

Nomen said:
PLEASE USE WXWIDGETS

Please use wxWidgets, the multiplatform C++ class library. [..]

Besides "free", what are the advantages of it over, say, Qt?

V
 
J

JKop

So code in wxWidgets and your program will run on both Windows, Mac OS
X and Linux, natively.

Windows and Mac OS use different CPU types and hence have different CPU
instructions... how can you have an executable that will run on both... ? Is
there a virtual machine involved at all... ?

As for Windows and Linux... Windows has some sort of PE executable file
format, does Linux have the same... ?


-JKop
 
I

Ivan Vecerina

Victor Bazarov said:
Nomen said:
PLEASE USE WXWIDGETS

Please use wxWidgets, the multiplatform C++ class library. [..]

Besides "free", what are the advantages of it over, say, Qt?

Other than Qt, would you know any other comparable library?

One advantage of wx might be that, as the OP mentioned, it always
uses native widgets of the target platform. Last I checked, Qt
was using custom-drawn widgets, which don't always have the look
and feel of the target platform.

Other than that, Wx does not use a special preprocessor (Qt's MOC),
however it tends to use MFC-style macros for message maps (although
you can do without them). Its license allows it to be used in any
project for free, including non-open source.
Qt, while being GPL on linux only, is commercial on other platforms.
It is also more polished overall.

While Qt is used as a basis for the KDE desktop (as far as I know),
wxWidgets has a Python binding (wxPython) that has also become a de
facto standard for Python GUI development.

Btw, both Qt and Wx, share a set of common flaws:
- Tendency to use custom container and string classes
instead of the standard library.
- Use of a MOC or Macros to implement a callback/messaging
mechanisme while a pure C++ equivalent is possible today
- Single-rooted object hierarchies and "emulated" RTTI
- Excessively monolithic design -- intrication of various
modules/components makes it difficult to use only a subset
of the library.

(Disclaimer: I haven't reviewed the latest version of Qt).


I would welcome further constructive/informative comments
about how these two libraries compare...

Cheers,
Ivan
 
?

=?iso-8859-1?q?Nils_O=2E_Sel=E5sdal?=

PLEASE USE WXWIDGETS
I thought I was reading comp.lang.c++ not comp.lang.ads
I hope the author of this post is in no way associated with wxWidgets,
that alone would make me stay far, far away from that toolkit.
 
H

Howard

JKop said:
Windows and Mac OS use different CPU types and hence have different CPU
instructions... how can you have an executable that will run on both... ? Is
there a virtual machine involved at all... ?

I would assume that by "code", the OP was talking about "source code", not
an executable that will run on both. We discuss cross-platform issues here
often, and I'm pretty sure we're talking about source code that is platform
independent. Right?

-Howard
 
V

Victor Bazarov

Howard said:
[..]
I would assume that by "code", the OP was talking about "source code", not
an executable that will run on both. We discuss cross-platform issues here
often, and I'm pretty sure we're talking about source code that is platform
independent. Right?

Right. There is another "problem", however. To use such libraries, one
has to either begin fresh or totally rewrite the UI code that has been
already written. Solutions that allow one to take the code written for
a particular platform and just recompile it on another platform and
expect it to run and do what it does on the original platform, are few
and far between. Not to mention that they are very expensive.

We're falling off the topic very rapidly, BTW.

V
 
R

Ron Natalie

Ivan said:
I would welcome further constructive/informative comments
about how these two libraries compare...
I don't know about Qt, but the screenshots on WxWidgets page might
look good compared to the sucko Motif and other X GUI designs, but
they suck compared to the MAC/PC state of the art.
 
S

Steven T. Hatton

Nomen said:
program and the Linux executable is and looks like a real Linux/GTK+

But I don't use GTK+, so how is that native to my Linux environment?

--
"If our hypothesis is about anything and not about some one or more
particular things, then our deductions constitute mathematics. Thus
mathematics may be defined as the subject in which we never know what we
are talking about, nor whether what we are saying is true." - Bertrand
Russell
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,710
Latest member
bernietqt

Latest Threads

Top