Reinforcement Learning and
Artificial
Intelligence (RLAI) |
|
RL
Graphics tools using Python and Tk Graphics |
What platforms will G and
Quickgraph run
on?
We have tested G and Graph on Macintosh OS X (panther),
Windows XP, and Linux Redhat 9. There is no reason it shouldn't work on
other platforms as long as they have Python, Tk and Tkinter installed,
but we haven't tested on any others.
How do I run python with the
graphics routines?
You can use most of the standard methods for running Python. You can
have your program in a file and run Python with it from a shell window,
or run interactively with prompts from a shell window. Some IDE's will
have trouble with Tkinter. We have had success using IDLE, the standard
IDE for Python. It has the added advantage of letting us have the best
of both worlds - interactive command execution from a python command
line, as well as interactive windows. Clues for setting up IDLE to do
this are here.
On the macintosh, things are slightly more complicated. You must use
pythonw, not python, to run
your programs. The Python IDE that comes with the mac will not work
with these graphics routines. IDLE will, if you modify it to use
pythonw (see here for details).
How do I get Python? Tkinter?
There is a page of Python resources here.
There are links for
getting and installing Python, Tkinter and IDLE (the standard IDE), as
well as documentation and tutorials.
What is this gStartEventLoop
(formerly gMainloop) thing?
starts up an event based loop which catches
things like
button pushes, menu selections, mouse clicks, resizing or closing
windows, and handles them as your program has specified. It also notes
changes to your windows and redraws them. This must always be the LAST
line of your program as it transfers control from your program to the
event manager. No program commands after
gStartEventLoop()gStartEventLoop()
will be executed
until the loop ends - which is when the windows are destroyed or a quit
is issued by some event. If you wish to manipulate your windows from a
python command line, as well as having the windows themselves
interactive, you need to use the IDLE IDE for Python, with the
modifications suggested here.
If you run from the command line, sometimes your changes may show up
without starting the event loop. If you really only want to see the
window changes and are not using buttons and menus, the command gMakeVisible
might work well enough for you. It displays the window changes and then
returns control to your program.
If you use IDLE and gStartEventLoop()
, a second python
application
will be
started distinct from the IDLE process. Your graphics windows
will be part of that process and thus may be obscured by windows in the
IDLE process. This is all ok, but be aware of it.