|
|
|
@ -7,7 +7,7 @@
|
|
|
|
|
<title>The wxPython Manual</title>
|
|
|
|
|
<meta name="author" content="Patrick K. O'Brien" />
|
|
|
|
|
<meta name="organization" content="Orbtech" />
|
|
|
|
|
<meta name="date" content="2003-07-02" />
|
|
|
|
|
<meta name="date" content="2004-03-26" />
|
|
|
|
|
<link rel="stylesheet" href="default.css" type="text/css" />
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
@ -25,9 +25,9 @@
|
|
|
|
|
<tr><th class="docinfo-name">Organization:</th>
|
|
|
|
|
<td><a class="first last reference" href="http://www.orbtech.com/">Orbtech</a></td></tr>
|
|
|
|
|
<tr><th class="docinfo-name">Date:</th>
|
|
|
|
|
<td>2003-07-02</td></tr>
|
|
|
|
|
<td>2004-03-26</td></tr>
|
|
|
|
|
<tr><th class="docinfo-name">Revision:</th>
|
|
|
|
|
<td>1.2</td></tr>
|
|
|
|
|
<td>1.3</td></tr>
|
|
|
|
|
<tr class="field"><th class="docinfo-name">License:</th><td class="field-body">wxWindows Free Documentation Licence, Version 3</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
@ -43,7 +43,7 @@
|
|
|
|
|
<li><a class="reference" href="#mac-os-x" id="id6" name="id6">Mac OS X</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
<li><a class="reference" href="#what-is-wxwindows" id="id7" name="id7">What is wxWindows?</a></li>
|
|
|
|
|
<li><a class="reference" href="#what-is-wxwidgets" id="id7" name="id7">What is wxWidgets?</a></li>
|
|
|
|
|
<li><a class="reference" href="#why-another-cross-platform-development-tool" id="id8" name="id8">Why another cross-platform development tool?</a></li>
|
|
|
|
|
<li><a class="reference" href="#wxpython-overview" id="id9" name="id9">wxPython Overview</a></li>
|
|
|
|
|
<li><a class="reference" href="#utilities-and-libraries-supplied-with-wxpython" id="id10" name="id10">Utilities and libraries supplied with wxPython</a></li>
|
|
|
|
@ -97,11 +97,11 @@
|
|
|
|
|
<h1><a class="toc-backref" href="#id1" name="introduction">Introduction</a></h1>
|
|
|
|
|
<p>This is a guide to the wxPython GUI toolkit, written <strong>by</strong> a Python
|
|
|
|
|
programmer <strong>for</strong> his fellow Python programmers. It began as a
|
|
|
|
|
simple translation of the wxWindows documentation (which is written
|
|
|
|
|
simple translation of the wxWidgets documentation (which is written
|
|
|
|
|
for C++ programmers), and evolved from there. And while there's
|
|
|
|
|
nothing wrong with C++...</p>
|
|
|
|
|
<p>Okay, you got me there. I hate C++. That's why I use Python. If you
|
|
|
|
|
like C++, go read the wxWindows documentation. If you'd rather read a
|
|
|
|
|
like C++, go read the wxWidgets documentation. If you'd rather read a
|
|
|
|
|
guide that's written with Python programmers in mind, keep reading
|
|
|
|
|
this one. If you like it, feel free to send me freshly roasted coffee
|
|
|
|
|
beans, dark chocolate, and large denomination currency. Better yet,
|
|
|
|
@ -114,8 +114,8 @@ send one to each of your friends, relatives, and coworkers.</p>
|
|
|
|
|
allows Python programmers to create programs with a robust, highly
|
|
|
|
|
functional graphical user interface, simply and easily. It is
|
|
|
|
|
implemented as a Python extension module (native code) that wraps the
|
|
|
|
|
popular wxWindows cross platform GUI library, which is written in C++.</p>
|
|
|
|
|
<p>Like Python and wxWindows, wxPython is Open Source, which means that
|
|
|
|
|
popular wxWidgets cross platform GUI library, which is written in C++.</p>
|
|
|
|
|
<p>Like Python and wxWidgets, wxPython is Open Source, which means that
|
|
|
|
|
it is free for anyone to use and the source code is available for
|
|
|
|
|
anyone to look at and modify. And anyone can contribute fixes or
|
|
|
|
|
enhnacments to the project.</p>
|
|
|
|
@ -154,13 +154,13 @@ setups.</p>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="what-is-wxwindows">
|
|
|
|
|
<h1><a class="toc-backref" href="#id7" name="what-is-wxwindows">What is wxWindows?</a></h1>
|
|
|
|
|
<p>wxWindows is a C++ framework providing GUI (Graphical User Interface)
|
|
|
|
|
<div class="section" id="what-is-wxwidgets">
|
|
|
|
|
<h1><a class="toc-backref" href="#id7" name="what-is-wxwidgets">What is wxWidgets?</a></h1>
|
|
|
|
|
<p>wxWidgets is a C++ framework providing GUI (Graphical User Interface)
|
|
|
|
|
and other facilities on more than one platform. Version 2 currently
|
|
|
|
|
supports all desktop versions of MS Windows, Unix with GTK+, Unix with
|
|
|
|
|
Motif, and MacOS. An OS/2 port is in progress.</p>
|
|
|
|
|
<p>wxWindows was originally developed at the Artificial Intelligence
|
|
|
|
|
<p>wxWidgets was originally developed at the Artificial Intelligence
|
|
|
|
|
Applications Institute, University of Edinburgh, for internal use, and
|
|
|
|
|
was first made publicly available in 1992. Version 2 is a vastly
|
|
|
|
|
improved version written and maintained by Julian Smart, Robert
|
|
|
|
@ -171,7 +171,7 @@ variants, unless otherwise stated. All trademarks are acknowledged.</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="why-another-cross-platform-development-tool">
|
|
|
|
|
<h1><a class="toc-backref" href="#id8" name="why-another-cross-platform-development-tool">Why another cross-platform development tool?</a></h1>
|
|
|
|
|
<p>wxWindows was developed to provide a cheap and flexible way to
|
|
|
|
|
<p>wxWidgets was developed to provide a cheap and flexible way to
|
|
|
|
|
maximize investment in GUI application development. While a number of
|
|
|
|
|
commercial class libraries already existed for cross-platform
|
|
|
|
|
development, none met all of the following criteria:</p>
|
|
|
|
@ -181,13 +181,13 @@ development, none met all of the following criteria:</p>
|
|
|
|
|
<li>simplicity of programming</li>
|
|
|
|
|
<li>support for a wide range of compilers</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<p>Since wxWindows was started, several other free or almost-free GUI
|
|
|
|
|
<p>Since wxWidgets was started, several other free or almost-free GUI
|
|
|
|
|
frameworks have emerged. However, none has the range of features,
|
|
|
|
|
flexibility, documentation and the well-established development team
|
|
|
|
|
that wxWindows has.</p>
|
|
|
|
|
<p>As open source software, wxWindows has benefited from comments, ideas,
|
|
|
|
|
that wxWidgets has.</p>
|
|
|
|
|
<p>As open source software, wxWidgets has benefited from comments, ideas,
|
|
|
|
|
bug fixes, enhancements and the sheer enthusiasm of users. This gives
|
|
|
|
|
wxWindows a certain advantage over its commercial competitors (and
|
|
|
|
|
wxWidgets a certain advantage over its commercial competitors (and
|
|
|
|
|
over free libraries without an independent development team), plus a
|
|
|
|
|
robustness against the transience of one individual or company. This
|
|
|
|
|
openness and availability of source code is especially important when
|
|
|
|
@ -201,16 +201,16 @@ toolkits such as Motif, GTK+ and MFC.</p>
|
|
|
|
|
overstated, since GUI application development is very time-consuming,
|
|
|
|
|
and sustained popularity of particular GUIs cannot be guaranteed.
|
|
|
|
|
Code can very quickly become obsolete if it addresses the wrong
|
|
|
|
|
platform or audience. wxWindows helps to insulate the programmer from
|
|
|
|
|
these winds of change. Although wxWindows may not be suitable for
|
|
|
|
|
platform or audience. wxWidgets helps to insulate the programmer from
|
|
|
|
|
these winds of change. Although wxWidgets may not be suitable for
|
|
|
|
|
every application (such as an OLE-intensive program), it provides
|
|
|
|
|
access to most of the functionality a GUI program normally requires,
|
|
|
|
|
plus many extras such as network programming, PostScript output, and
|
|
|
|
|
HTML rendering; and it can of course be extended as needs dictate. As
|
|
|
|
|
a bonus, it provides a far cleaner and easier programming interface
|
|
|
|
|
than the native APIs. Programmers may find it worthwhile to use
|
|
|
|
|
wxWindows even if they are developing on only one platform.</p>
|
|
|
|
|
<p>It is impossible to sum up the functionality of wxWindows in a few
|
|
|
|
|
wxWidgets even if they are developing on only one platform.</p>
|
|
|
|
|
<p>It is impossible to sum up the functionality of wxWidgets in a few
|
|
|
|
|
paragraphs, but here are some of the benefits:</p>
|
|
|
|
|
<ul class="simple">
|
|
|
|
|
<li>Low cost (free, in fact!)</li>
|
|
|
|
@ -281,10 +281,10 @@ Help.</p>
|
|
|
|
|
<p>GUI applications aren't all graphical wizardry. You'll also need
|
|
|
|
|
lists and hash tables. But since you're working with Python, you
|
|
|
|
|
should use the ones Python provides (list, tuple, dict), rather than
|
|
|
|
|
the wxWindows versions. Same goes for the database related classes.
|
|
|
|
|
the wxWidgets versions. Same goes for the database related classes.
|
|
|
|
|
The basic rule of thumb is this: If you can do it directly in Python,
|
|
|
|
|
you probably should. If there is a reason not to use a Python data
|
|
|
|
|
type, wxPython will provide a wrapper for the wxWindows class.</p>
|
|
|
|
|
type, wxPython will provide a wrapper for the wxWidgets class.</p>
|
|
|
|
|
<p>You will undoubtedly need some platform-independent file functions,
|
|
|
|
|
and you may find it handy to maintain and search a list of paths using
|
|
|
|
|
PathList. There's a miscellany of operating system and other
|
|
|
|
@ -293,7 +293,7 @@ functions.</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="utilities-and-libraries-supplied-with-wxpython">
|
|
|
|
|
<h1><a class="toc-backref" href="#id10" name="utilities-and-libraries-supplied-with-wxpython">Utilities and libraries supplied with wxPython</a></h1>
|
|
|
|
|
<p>In addition to the core wxWindows library, a number of further
|
|
|
|
|
<p>In addition to the core wxWidgets library, a number of further
|
|
|
|
|
libraries and utilities are supplied with each distribution.</p>
|
|
|
|
|
<p>[Need to list these.]</p>
|
|
|
|
|
</div>
|
|
|
|
@ -305,13 +305,13 @@ allocated with new and deleted with delete. If you delete a window,
|
|
|
|
|
all of its children and descendants will be automatically deleted,
|
|
|
|
|
so you don't need to delete these descendants explicitly. -->
|
|
|
|
|
<!-- When deleting a frame or dialog, use Destroy rather than delete so
|
|
|
|
|
that the wxWindows delayed deletion can take effect. This waits
|
|
|
|
|
that the wxWidgets delayed deletion can take effect. This waits
|
|
|
|
|
until idle time (when all messages have been processed) to actually
|
|
|
|
|
delete the window, to avoid problems associated with the GUI
|
|
|
|
|
sending events to deleted windows. -->
|
|
|
|
|
<!-- If you decide to allocate a C++ array of objects (such as wxBitmap)
|
|
|
|
|
that may be cleaned up by wxWindows, make sure you delete the array
|
|
|
|
|
explicitly before wxWindows has a chance to do so on exit, since
|
|
|
|
|
that may be cleaned up by wxWidgets, make sure you delete the array
|
|
|
|
|
explicitly before wxWidgets has a chance to do so on exit, since
|
|
|
|
|
calling delete on array members will cause memory problems. -->
|
|
|
|
|
<!-- wxColour can be created statically: it is not automatically cleaned
|
|
|
|
|
up and is unlikely to be shared between other objects; it is
|
|
|
|
@ -977,7 +977,7 @@ documents into html, xml, pdf, and even OpenOffice files.</p>
|
|
|
|
|
<h1><a class="toc-backref" href="#id44" name="submitting-changes-to-the-source-document">Submitting changes to the source document</a></h1>
|
|
|
|
|
<p>Some items in the source text file look like this:</p>
|
|
|
|
|
<pre class="literal-block">
|
|
|
|
|
.. This is text from the wxWindows documentation that needs to be
|
|
|
|
|
.. This is text from the wxWidgets documentation that needs to be
|
|
|
|
|
translated into something appropriate for the wxPython version.
|
|
|
|
|
The two dots followed by uniformly indented text turns this
|
|
|
|
|
paragraph into a reStructuredText comment, so it doesn't appear
|
|
|
|
@ -1005,7 +1005,7 @@ name):</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="section" id="license">
|
|
|
|
|
<h1><a class="toc-backref" href="#id46" name="license">License</a></h1>
|
|
|
|
|
<p>This document began as a translation of the wxWindows documentation.
|
|
|
|
|
<p>This document began as a translation of the wxWidgets documentation.
|
|
|
|
|
As such, it adheres to the same license, which is provided here:</p>
|
|
|
|
|
<pre class="literal-block">
|
|
|
|
|
wxWindows Free Documentation Licence, Version 3
|
|
|
|
@ -1072,9 +1072,5 @@ As such, it adheres to the same license, which is provided here:</p>
|
|
|
|
|
</pre>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<hr class="footer" />
|
|
|
|
|
<div class="footer">
|
|
|
|
|
Generated on: 2004-03-26 21:09 UTC.
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|