So it's a pretty simple interface, with just the digits 0-9 (as buttons), a plus button, a minus button, an equals button and a clear button. There's also an Entry widget to be used as a display.

The problem:
The buttons 0-9 aren't working. Instead of pasting the number they have on them to the display when clicked, they do it at startup (so the Entry box starts out with 321654987 in it). No idea what's happening, it might be something to do with the way I have set up the "fillDisplay" function.

Unfortunately, this presents a different problem, in that the callback cannot take an argument, but the fillDisplay() function expects one. There is no way to pass the value to fillDisplay() as it is now defined.

The solution - a bit heavyweight, but nonetheless workable - is to define a subclass of the Button class, which should pass one of its methods as the callback.