The main difference between the two widgets is that mclistbox uses core Tk listbox widgets, while the body of a tablelist widget is based on a text widget. This is also the reason for some of the limitations of mclistbox: no support for right-aligned or centered columns, and no image support in the cells. While Bryan Oakley's work is an excellent one, IMHO a multi-column listbox should support individual column alignment, sorting, the ability to mix text with images, and various methods aimed to improve the appearance and readability of the items. This was why I (Csaba Nemethi) decided to write another multi-column listbox.
The following table shows the main differences between the two widgets:
Feature | mclistbox | tablelist |
------------------------------- | --------------- | ------------------- |
column alignment | left | left, right, center |
image support | in labels | in labels and cells |
mixing text & images | no | in labels and cells |
built-in sort command | no | yes |
arrow showing sort order | no | yes |
columns to be streched | just one | arbitrary |
listvariable | no | yes |
level for indiv. colors & font | column | column, row, cell |
level for indiv. borderwidth | column | none |
level for indiv. relief | column | none |
support for horizontal stripes | no | yes |
programmatic editing | no | in rows and cells |
selection callback | built-in | with the aid of Wcb |
activate callback | no | with the aid of Wcb |
documentation | reference | tutorial, reference |
See also Wcb.
See also the clt comparisons by Damon Courtney [L1 ], Csaba [L2 ], tclguy [L3 ], and Roy Terry [L4 ] of Tablelist and TkTable.
AMG: How about a comparison with ttk::treeview?