Tcl HomeTcl Home Hosted by

Google SiteSearch

Heard that Tk applications don't look right? It is true that Tk does have its share of both beauties and beasts. It has in the past been harder than it should have been to find out how to make sure your applications look great with Tk. That's all changing.

Keeping up is hard to do. Tk was the first GUI toolkit adopted by so many dynamic languages; no wonder, it was designed specifically for high-level languages, and made even cross-platform user interfaces easy.

But as with many open source projects, Tk's development went through a bit of a lull for a while. It was slow to integrate some of the latest look and feel changes as different platforms advanced, it didn't incorporate newer widgets, or take advantage of new paradigms like themes that were becoming more common on some platforms. So it is no surprise that Tk is seen by many as outdated.

Workarounds. That didn't stop Tk programmers of course. Tcl and Tk being a language built for extension, a slew of add-on packages were developed that added extra widgets, beyond the base set included in Tk. Because Tk was so configurable, it also wasn't hard to tweak Tk widget options to get the right appearance.

So bottom line, you could get the results you wanted, but it was harder than it should have been. You had to go looking around for add-on packages, advice on how to adjust widget options, and so on, rather than just having everything there and working great right out of the box. Recent versions have improved this situation somewhat, but it is still not ideal.

Better Native Appearance, Themes and More. Tk 8.5 introduced the Tile Widget Set, a next-generation re-implementation of many of the core Tk widgets, along with the addition of several new ones. With Tile, Tk applications can achieve an appearance much closer to native platform widgets, as well as take advantage of a modern, highly dynamic theme engine to produce a wide variety of alternative user interface styles. Tile also makes constructing new widgets even easier.