One of the first things I always look
for when exploring a new computer interface is a clock. Because I
spend so much time glued to computers, it’s essentially
impossible for me to keep track of the time unless it is right there
on the screen in front of me (and even then, it’s iffy). The
next program, PyClock, implements
such a clock widget in Python. It’s not substantially different
than clock programs you may be used to seeing on the X Windows
system. Because it is coded in Python, though, this one is both
easily customized, and fully portable among Windows, the X Windows
system, and Macs, like all the code in this chapter. In addition to
advanced GUI techniques, this example demonstrates Python
time module tools.
Before I show you PyClock, though, a little background and a confession. Quick -- how do you plot points on a circle? This, along with time formats and events, turns out to be a core concept in clock widget programs. To draw an analog clock face on a canvas widget, you essentially need to be able to sketch a circle -- the clock face itself is composed of points on a circle, and the second, minute, and hour hands of the clock are really just lines from a circle’s center out to a point on the circle. Digital clocks are simpler to draw, but not much to look at.
Now the confession: when I started writing PyClock, I couldn’t answer the last paragraph’s opening question. I had utterly forgotten the ...