SF Tcl | SF Tk | SF SpecTcl | Tcl Dev Xchange Hosted bySourceForge Home

SpecTcl Info Page

For information on the recently updated GUI Builder, see the main page.

SpecTcl is a GUI builder for Tcl/Tk. It features drag & drop widget creation and configuration of widgets through a GUI. It is written in pure Tcl/Tk, so it runs on Unix, Mac and Windows. Compared to other Tcl/Tk GUI builders it has the following advantages:

SpecTcl main window


In SpecTcl, one creates the desired widget layout in the windows, one adds extra code that should be run each time such a window is created and this is saved in a file named something like foo.ui (SpecTcl's own file format). Hereafter, SpecTcl can generate a Tcl/Tk file (foo.ui.tcl) which contains a function (foo_ui). When called with an existing frame or toplevel as the first argument, this function creates the widgets as children of its first argument. All that is left for you to do is to source the Tcl/Tk file (foo.ui.tcl), create a toplevel or frame and call the function (foo_ui) with the frame/toplevel as the first argument.

The advantages of not automatically creating the toplevel are many:

  1. You can use the design in different top level widgets
  2. You can have many copies of the same window design
  3. When you want to be able to choose between several different appearances of the same window you can just make several frames and hide all but one of them.
SpecTcl isn't an IDE (Integrated Development Environment) and it is not my plan to make it one. IDE's on the one hand help you find variables, functions, widgets etc easily, but also tend to have a "big brother" effect whereby you lose some control. SpecTcl is for those that fear the latter more than they value the former.


It is implemented in pure Tcl/Tk, so it will run on any platform where Tcl/Tk runs. Minimum version is apparently Tcl7.6, but I developed it under Tcl/Tk 8.0 and this is also the minimum version if one wishes to use widgets from extensions or use the menu editor. SpecTcl has been reported not to work with Tcl/Tk 8.2 on HP Unix and FreeBSD - it is probably advisable to stay away from Tcl/Tk version 8.2 completely.

Screen Shots

The main window (shown above) main.gif
The widget properties window properties.gif
The preferences window preferences.gif
The main menueditor window menueditor.gif


SpecTcl was initially developed by Sun Micro Systems (up to and including version 1.1 back in 1997). After 3 years without a maintainer or a new release, I took over in April 2001.

Requests and Bugs

Please check the bugs section in the online help for a list of bugs and requests. Hereafter, please use the discussion forum so that everyone gets the news and the chance to comment. If you wish to contribute code or become a fixed member of the development team I'd be glad to hear from you. One thing that someone more artistic than me could do is make a nicer spinbox icon that fits in with the others.


Both the program and manuals can be dowloaded from http://sourceforge.net/project/showfiles.php?group_id=24918
Version numbering is like Tcl/Tk. Last stable version is 1.1, but it might be preferable to dowload the latest alpha pre-release to get the extra bug-fixes, new features and new bugs ;-)
To see the differences between versions, check the release statements in "Latest News" on the project page or the "changes" file in the distribution itself.

Related projects

The Tk toolkit also has interfaces in other languages than Tcl. There is therefore also a need for a GUI builder that generates code for these languages. Various people have written code generation code for these languages: Other related projects:
  SF Tcl | SF Tk | SF SpecTcl | Tcl Dev Xchange Hosted bySourceForge Home