[EKB] I needed to have a properly editable table cell in TkTable. But I still wanted the arrow keys to work for table navigation under normal circumstances. I added some bindings so that either a double mouse click or pressing ctrl-enter will pop up an edit widget in the active cell. Here's the basic code: event add <> event add <> bind $table.t <> { # Make sure the cell is up-to-date, first forceupdate %W # Create an edit widget if [winfo exists %W.entry] { saveEntry %W destroy %W.entry } set row [%W index active row] set col [%W index active col] entry %W.entry -validate key -vcmd "validate %W %%P" bind %W.entry {killEntry %W} bind %W.entry {saveEntry %W; killEntry %W; forceupdate %W} bind %W.entry {saveEntry %W; killEntry %W; forceupdate %W} %W window configure "$row,$col" -window %W.entry -sticky news %W.entry insert end [%W get $row,$col] %W.entry selection range 0 end focus %W.entry break } To work, it needs some application-specific procs (w is the table widget): proc forceupdate {w} { # ... Update any data structure with the cell contents } proc killEntry {w} { # ... Get rid of the entry widget } proc validate {w s} { # ... Pass the validate command to the entry widget } proc saveEntry{w} { # ... Take the contents of the entry widget and store in the table cell } (Why did I make some of the proc names camel case and some not? Sigh... I try to be consistent, but often miss.)