An open-source application development environment for Python/Tkinter
Last updated 2011-09-24
What is Rapyd-Tk?
Rapyd-Tk (
Rapid
python
development with
Tkinter) - is an open-source development environment
specifically tailored for developing applications using Python, Tkinter
and, optionally, Pmw. Some features:
Graphical layout of frames and widgets within a form.
Widgetator for quickly seeing and setting options, bindings and pack
settings of each widget.
Integrated code editor with text colorization. User adjustable key
bindings and colorization settings.
Code editor makes it easy to switch between forms in a module and between modules in a project.
Run programs directly from inside Rapyd-Tk.
On error in the run program, can snap directly to the offending line
(or any other line in the error traceback).
Extensive, built-in help facility. Over 500 help topics.
Event-string wizard of bind-editor helps you to quickly compose
correct event-strings the first time.
Bind-editor automatically creates skeleton event handler for
new bindings.
Event handlers are automatically kept in alphabetical order within
the code. Rename the handler and it moves to it's new location
without you having to do anything special.
Go to the code of an event handler by double clicking on bindings
in the bind-editor.
Why would I want to use Rapyd-Tk?
Because you can create and, more importantly, revise and maintain
programs faster than you can by hand. You can quickly create the
foundation of a program by dividing a form into frames and then dragging
widgets from a "widget buffet" onto your form. Set
options and pack settings from a convenient editor. Use the bind editor
to create bindings and corresponding event handlers.
If you've ever created a form and then wanted to rearrange which widgets
are where then you will appreciate Rapyd-Tk. In a complex form with lots of
nested frames such a rearrangement is a major exercise and a royal pain.
With Rapyd-Tk you simply rearrange the frames and drag the widgets to their
new location and most or all of the code that generates the widgets gets
updated automatically.
And it's open source, so it's free. License is GPL version 2.
What does it look like?
Ok, some screen shots. These are thumbnails; click on them to get the
full size version. Text under the thumbnail gives a bit of information
about each screenshot.
On the right, the graphic layout area. This shows the logical layout of
frames (the lines) and widgets (the icons inside the lines).
To find out why this view shows the logical layout and not the final
visual layout
click here.
On the left, the option editor of
the widgetator, in this case showing the options of a Button widget.
On the right, the code editor, in this case showing a whole blast of
code which was generated automatically by Rapyd-Tk to create the frames and
widgets which were requested in the layout area (previous screen shot).
On the left, the bind editor of the widgetator, in this case showing
that the current widget (a Button) has one binding in effect. If you
were to double click on the binding information (that is, the line just
above the "Create New Binding" button it would take you directly to the
corresponding event handler in the code.
On the right, the code editor, in this case showing several event
handlers. The event handlers are automatically kept in alphabetical
order by Rapyd-Tk. The text on white background is user entered text.
The text on pale blue background is Rapyd-Tk generated and maintained
text.
On the left, the pack editor of the widgetator, showing the pack
settings for our Button. The pack 'side' setting is set by Rapyd-Tk based
on where the Button widget was placed within it's frame.
One of the 500+ help pages, in this case a page from the tutorial which
takes new users through the process of creating a simple "hello world"
application with Rapyd-Tk.
The first screen shot above shows the logical layout requested for
a form (in this case the Rapyd-Tk font selector). This screen shot shows
the resulting form when the program is run.
Documentation
Other than installation instructions (which come in a README file as part of the
download) all Rapyd-Tk documentation is provided by the help system built into
Rapyd. There are over 500 help topic, including a tutorial, that cover all aspects
of using Rapyd-Tk.
Rapyd-Tk is based on the tkinter "pack" geometry manager. In theory Rapyd-Tk
could also work with the "grid" geometry manager but that hasn't been
implemented yet. Around here we know and love the pack manager, and feel it
gives a lot of bang for the Euro, so to speak. However, like many things, it
does require a bit of effort to learn the ins and outs of the pack manager.
The "place" geometry manager doesn't do much but it IS a paragon of
simplicity. If you like the "place" manager you might like
tk-happy
which appears to be a rather more modest project than Rapyd-Tk but it does
have the simplicity of the "place" geometry manager.
Download
Rapyd-Tk is an open-source project licensed under the GNU General Public
License, version 2, and is thus available for no-charge and can be
redistributed. Programs which are generated using Rapyd-Tk have no inherent
license restrictions. The Rapyd-Tk team encourages project authors
to release them as open-source, but project authors are free to license
Rapyd-Tk generated code as they see fit, under either open-source or commercial
licenses.
Rapyd-Tk is written entirely in Python and thus should run on any machine that
supports Python. Rapyd-Tk requires Python version 2.1.3 or
newer. Note that Rapyd-Tk will NOT work with Python 3.x although the Rapyd-Tk
team is looking at this.
Other than depending on Tkinter (which comes with Python) Rapyd-Tk
neither requires nor depends on any other package. Rapyd-Tk supports
the use of Pmw widgets in Rapyd-Tk generated projects but such use is
fully optional.
To download the current version of Rapyd-Tk, click on this link:
Once you have tried Rapyd-Tk we would be interested in receiving your
comments. What parts did you like? What parts did you hate? Did you have
trouble with any aspect of Rapyd-Tk? Any and all comments welcome. You
can contact the Rapyd-Tk team by email or via a Facebook group, as
described in the next section.
Contact
There is a
Facebook group
devoted to Rapyd-Tk. Either click on the link or on Facebook search for "Rapyd-Tk".
If you have an interest in Rapyd-Tk please join the Facebook group so we can establish
a vibrant community of Rapyd-Tk enthusiasts. Questions about Rapyd-Tk? The Facebook group
is the place to get answers.
We would be delighted to hear from you by email. Contact the Rapyd-Tk development team at:
rapyd@bitflipper.ca
IMPORTANT NOTE: If you sent email to the above address you MUST put the word "rapyd" somewhere in
the subject line or it will be deleted by our spam filters. Since this is a publicly visible
email address it attracts spam.