Why do Tcler suggest to brace your `expr`essions?

The “problem” with expr is that it implements its own “mini language”, which includes, among other things, variable substitution (replacing those $a-s with their values) and command substitution (replacing those [command …] things with the results of running commands), so basically the process of evaluating expr $a + $b goes like this: The Tcl interpreter … Read more

Threads and tkinter

All Tcl commands need to originate from the same thread. Due to tkinter‘s dependence on Tcl, it’s generally necessary to make all tkinter gui statements originate from the same thread. The problem occurs because mainWindow is instantiated in the tkinterGui thread, but — because mainWindow is an attribute of tkinterGui — is not destroyed until … Read more

List of All Tkinter Events

A general list for Bindings and Events can be found on effbot.org or in the docs provided by New Mexico Tech whereas the name of several keys are listed here in addition to the original documentation. Here’s a summary of the most common events with some keypress names explained: Event Description <Button-1> Button 1 is … Read more