Tcl HomeTcl Home hosted by

Google SiteSearch

Heard that Tk applications don't look right? It's true that Tk does have it's share of both beauties and beasts. It's 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's 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's still not ideal.

Tile: Better Native Appearance, Themes and More. The Tile Widget Set is a next-generation re-implementation of many of the core Tk widgets, along with the addition of several new widgets. 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.

Where we are today. Tile is available for use now (as a downloadable extension), and is currently being incorporated directly into Tk, so it will be there by default in upcoming versions.

All cross-platform toolkits today have their shortcomings. Tk already has far and away the best programming model for dynamic languages of any GUI toolkit. With the inclusion of Tile, and the energy and focus Tk core developers are again devoting to it, Tk will soon have the appearance to match — right out of the box.

For more information on Tile (and screenshots), see the Tile home page.