wxwidgets crossplatform questions - Windows and Windows 7

190 views
Skip to first unread message

Dave Mathews

unread,
Mar 29, 2010, 2:05:18 AM3/29/10
to wx-users
I want to start using wxwidgets to create gui-applications, but I have
some additional questions. I've done a little programming, but
always server side or cli interfaces. GUI's are totally new for me.

On internet and the site I read that wxwidgets is crossplatform and
can be used on both windows and linux. I'm not sure how things work
with wxwidgets.

1. If I develop an application and I want to distribute it to Windows-
clients. Can I build them and distribute the binaries such as
executables and dll's or do the clients need to have a compiler,
python and wxwidgets installed?

2. Is Windows 7 a problem for wxwidgets? I saw that the latest 2.9.0
is from september 2009 and this is before the release of Windows 7. I
saw some posts, but maybe some of you have experiences with it.

Ralph Pass

unread,
Mar 29, 2010, 9:43:15 AM3/29/10
to wx-u...@googlegroups.com
Dave:

Welcome to the world of wxWidgets. I have been using wxWidgets since
2007 and have built on Windows XP, Windows 7, Mac and Ubuntu. You will
find that people have their preferred method of development including a
primary platform. The joy of this is that once built there is little if
any changes that needed to be made for the other platforms, in my
experience and for the types of programs I write.

There is no problem with using it for Windows 7. The key here is that
you have a compiler that speaks Windows 7, such as Visual Studio or
Visual Studio Express.

You can build with windows .exe and .dlls but the consensus that I read
is that people prefer to build statically to avoid dll hell.

No, the end user does not need a compiler or python or wxwidgets (if you
do static linking).

I would suggest a good gui designer (the equivalent of VS being used for
design). I use Dialog Blocks. These do not have the integrated debug
environment that VS has for example. However, I usually have two
windows open, one with Dialog Blocks for GUI design and one with VS to
debug. The magic is that as you switch back and forth each understands
that the other has made changes and reloads the changed software.
Dialog Block generates the .sln and .vcproj for VS so when I add
existing code to a project I do it in Dialog Blocks and it updates the
sln/vcproj files. That way I have the same configuration on my Mac (and
Dialog Blocks generates the proper Makefile for the Mac).

I will tell you that using sizers in wxWidgets is a different mind set
than VS GUI design but I find it leads to better appearing GUIs with
less work.

Enjoy,
Ralph Pass

Dave Mathews

unread,
Mar 29, 2010, 9:56:11 AM3/29/10
to wx-users
Thanks Ralph,

>
> No, the end user does not need a compiler or python or wxwidgets (if you
> do static linking).
>

Can I still use Python features such as dictionaries or pickle (e.g.
load
pickled objects) with wxwidgets. I think that Python is required for
those features or can python be included in the distribution package
as a prerequisite.

> I would suggest a good gui designer (the equivalent of VS being used for
> design).  I use Dialog Blocks.  These do not have the integrated debug
> environment that VS has for example.  However, I usually have two
> windows open, one with Dialog Blocks for GUI design and one with VS to
> debug.  The magic is that as you switch back and forth each understands
> that the other has made changes and reloads the changed software.  
> Dialog Block generates the .sln and .vcproj for VS so when I add
> existing code to a project I do it in Dialog Blocks and it updates the
> sln/vcproj files.  That way I have the same configuration on my Mac (and
> Dialog Blocks generates the proper Makefile for the Mac).
>

I'll give Dialog Block a try.

> Enjoy,
> Ralph Pass
>

Ralph Pass

unread,
Mar 29, 2010, 10:05:06 AM3/29/10
to wx-u...@googlegroups.com
re python. if you distribute .pl files then wxwidgets and python are
needed (I am a C++ guy and this is not a problem and I tend to forget it).

Ralph Pass

Vadim Zeitlin

unread,
Mar 29, 2010, 4:51:26 PM3/29/10
to wx-u...@googlegroups.com
On Mon, 29 Mar 2010 06:56:11 -0700 (PDT) Dave Mathews <dm9...@googlemail.com> wrote:

DM> Can I still use Python features such as dictionaries or pickle (e.g.
DM> load pickled objects) with wxwidgets. I think that Python is required
DM> for those features or can python be included in the distribution
DM> package as a prerequisite.

You can use the usual tools (e.g. py2exe and such) with wxPython
applications. I think you'll find more details at wxPython wiki and/or
mailing list.

Regards,
VZ

--
TT-Solutions: wxWidgets consultancy and technical support
http://www.tt-solutions.com/

Kenneth Porter

unread,
Mar 30, 2010, 12:49:23 AM3/30/10
to wx-u...@googlegroups.com
--On Monday, March 29, 2010 10:43 AM -0400 Ralph Pass <rpp...@rppass.com>
wrote:

> I would suggest a good gui designer (the equivalent of VS being used for
> design). I use Dialog Blocks.

I've been pretty happy with wxFormBuilder. It's a free GUI designer but is
NOT an IDE. It generates a set of base classes of GUI objects, and you
derive from these to add your own code. (It can also generate XRC, but I
haven't used that feature.) I use it on WinXP and the resulting output
compiles and works fine on the latest Fedora Linux.

There are several GUI designers out there. Try them all and see what you
like.

Kenneth Porter

unread,
Mar 30, 2010, 12:56:47 AM3/30/10
to wx-u...@googlegroups.com
--On Monday, March 29, 2010 12:05 AM -0700 Dave Mathews
<dm9...@googlemail.com> wrote:

> 1. If I develop an application and I want to distribute it to Windows-
> clients. Can I build them and distribute the binaries such as
> executables and dll's or do the clients need to have a compiler,
> python and wxwidgets installed?

The license lets you distribute binaries.

> 2. Is Windows 7 a problem for wxwidgets? I saw that the latest 2.9.0
> is from september 2009 and this is before the release of Windows 7. I
> saw some posts, but maybe some of you have experiences with it.

I've not used Win7 but I can build and run just fine on Vista.

Newer versions of Windows acquire new UI controls, so wx may be behind in
implementing wrappers around those. The issue here is that if one platform
has a unique control, wx must emulate it on all the other platforms. (And
presumably it would have to emulate it on older versions of the operating
system it appears on. So a new Win7 control won't work on XP until wx
emulates it there.) If you need one of the newer controls, check the wx
development list to see the state of that control's support.

I'm using wx together with the Boost and Visualization Toolkit (VTK)
libraries and they coexist well together. I like to use Boost for my
low-level stuff like thread management, while using wx for the GUI
elements, and I found a wxVTK wrapper that lets me display 3D surfaces in a
wx frame.

Carsten A. Arnholm

unread,
Apr 2, 2010, 1:45:04 PM4/2/10
to wx-u...@lists.wxwidgets.org

I am a happy user of Code::Blocks on Windows and Linux. It has a very nice
built-in GUI designer for wxWidgets, called wxSmith.

The only odd thing about Code::Blocks is that you have to download a recent
nightly build (binaries are provided for several platforms, including
Windows and Linux), but this has worked fine since 2007 for me.

http://forums.codeblocks.org/index.php/board,20.0.html

Reply all
Reply to author
Forward
0 new messages