I reread my post and realized that I didn't really give much in the way of specifics for Perl/Tk "theme" support. As the others mentioned, themes are somewhat supported by using Widget options and the option database. This basically allows someone to specify a different set of default configuration options for widgets in an application. The key benefit here is that it's a fairly simple mechanism that can be easily reused.
The amount of change is limited to what options a widget supports, the platform, and in the case of custom widgets, how the other coded and documented support for options. Generally these options don't allow fancy changes such as changes to the basic shape, or UI layout. For these sorts of changes (ie. circular Buttons) custom code and Images are used. As for platform-specific changes: For X, Tk support the various Tile options (-activetile, -disabledtile, -tile, -troughtile), but these do not work on Windows systems that I've used. Even some relatively basic options for some components are not portable such as the colors for Scrollbar widgets (works for X, but not Windows).
Often, Tk apps that feature "themes" implement it in a way that is application specific which may or may not use the option database and/or custom widgets. All that I've seen require custom code. Also, to be clear - there's a difference between trying to create a specific look-and-feel, and creating support for themes. As an example, Steve Lidie created a Tk app that emulates the iTunes interface (and the aqua look-and-feel) in Chapter 15 of Mastering Perl/Tk. This is the case of an app that attempts to emulate a specific style or theme. For an example of an application that features user-modifiable theme support, take a look at Martin's File Manager (Mafima)
If theme support is essential, your theming requirements are complex, and you don't want to spend time assembling the support yourself, I would suggest either Perl/GTk or Perl/Qt.
Hope that helps...
RobIn reply to Re: Perl Tk themes
by rcseege
in thread Perl Tk themes
by critter
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |