A Developer's Guide

3rd Edition - January 17, 2012

Write a review

  • Author: Clif Flynt
  • Paperback ISBN: 9780123847171
  • eBook ISBN: 9780123847188

Purchase options

Purchase options
DRM-free (Mobi, EPub, PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Newly updated with over 150 pages of material on the latest Tcl extensions, Tcl/Tk: A Developer’s Guide is a unique practical tutorial for professional programmers and beginners alike. Starting with a clear picture of the basics, Tcl/Tk covers the variety of tools in this "Swiss army knife" of programming languages, giving you the ability to enhance your programs, extend your application's capabilities, and become a more effective programmer. This updated edition covers all of the new features of version 8.6, including object-oriented programming and the creation of megawidgets, existing data structure implementations, themed widgets and virtual events. Extensive code snippets and online tutorials in various languages will give you a firm grasp on how to use the Tcl/Tk libraries and interpreters and, most importantly, on what constitutes an effective strategy for using Tcl/Tk.

Key Features

  • Includes the latest features of Tcl/Tk 8.6
  • Covers Tcl development tools, popular extensions, and packages to allow developers to solve real-world problems with Tcl/Tk immediately
  • Provides straightforward explanations for beginners and offers tips, style guidelines, and debugging techniques for advanced users


Applications developers, programmers, software testers, systems software engineers, software architects, and design engineers

Table of Contents

  • Chapter 1. Tcl/Tk Features

    1.1 Tcl Overview

    1.2 Tcl As a Glue Language

    1.3 Tcl As a General-Purpose Interpreter

    1.4 Tcl As an Extensible Interpreter

    1.5 Tcl As an Embeddable Interpreter

    1.6 Tcl As a Rapid Development Tool

    1.7 GUI-Based Programming

    1.8 Shipping Products

    1.9 Bottom Line

    1.10 Problems

    Chapter 2. The Mechanics of Using the Tcl and Tk Interpreters

    2.1 The tclsh and wish Interpreters

    2.2 Using tclsh/wish Interactively

    2.3 Evaluating Tcl Script Files

    2.4 Bottom Line

    2.5 Problems

    Chapter 3. Introduction to the Tcl Language

    3.1 Overview of the Basics

    3.2 Command Evaluation and Substitutions

    3.3 Data Types

    3.4 Arithmetic and Boolean Operations

    3.5 Modularization

    3.6 Bottom Line

    3.7 Problems

    Chapter 4. Navigating the File System, Basic I/O and Sockets

    4.1 Navigating the File System

    4.2 Properties of File System Items

    4.3 Removing Files

    4.4 Input/Output in TCL

    4.5 Sockets

    4.6 Bottom Line

    4.7 Problems

    Chapter 5. Using Strings and Lists

    5.1 Converting a String into a List

    5.2 Examining the List with a for Loop

    5.3 Using the foreach Command

    5.4 Using string match Instead of string first

    5.5 Using lsearch

    5.6 The regexp Command

    5.7 Creating a Procedure

    5.8 Making a Script

    5.9 Speed

    5.10 Bottom Line

    5.11 Problems

    Chapter 6. Complex Data Structures with Lists, Arrays and Dicts

    6.1 Using the Tcl List

    6.2 Using the Dict

    6.3 Using the Associative Array

    6.4 Trees in Tcl

    6.5 Tcl and SQL

    6.6 Performance

    6.7 Bottom Line

    6.8 Problems

    Chapter 7. Procedure Techniques

    7.1 Arguments to Procedures

    7.2 Renaming or Deleting Commands

    7.3 Getting Information About Procedures

    7.4 Substitution and Evaluation of Strings

    7.5 Working with Global and Local Scopes

    7.6 Making a Tcl Object

    7.7 Bottom Line

    7.8 Problems

    Chapter 8. Namespaces, Packages and Modules

    8.1 Namespaces and Scoping Rules

    8.2 Packages

    8.3 TCL Modules

    8.4 Namespaces and Packages

    8.5 Hanoi with a Stack Namespace and Package

    8.6 Conventions and Caveats

    8.7 Bottom Line

    8.8 Problems

    Chapter 9. Basic Object-Oriented Programming in Tcl

    9.1 Creating a TclOO Class and Object

    9.2 Bottom Line

    9.3 Problems

    Chapter 10. Advanced Object-Oriented Programming in Tcl

    10.1 Modifying Classes and Objects

    10.2 Modifying Objects

    10.3 Examining Classes and Objects

    10.4 Examining Objects

    10.5 Using TclOO with Callbacks

    10.6 Adding New Functionality to TCLOO

    10.7 Bottom Line

    10.8 Problems

    Chapter 11. Introduction to Tk Graphics

    11.1 Creating a Widget

    11.2 Conventions

    11.3 Common Options

    11.4 Determining and Setting Options

    11.5 The Basic Widgets

    11.6 Introducing Widgets: label, button, and entry

    11.7 Application Layout: Geometry Managers and Container Widgets

    11.8 Selection Widgets: radiobutton, checkbutton, menu, and listbox

    11.9 Scrollbar

    11.10 The scale Widget

    11.11 New Windows

    11.12 Interacting with the Event Loop

    11.13 Scheduling the Future: after

    11.14 Bottom Line

    11.15 Problems

    Chapter 12. Using the Canvas Widget

    12.1 Overview of the canvas Widget

    12.2 Creating a canvas Widget

    12.3 Creating Displayable canvas Items

    12.4 More canvas Widget Subcommands

    12.5 The bind and focus Commands

    12.6 Creating a Widget

    12.7 A Help Balloon: Interacting with the Window Manager

    12.8 The image Object

    12.9 Bottom Line

    12.10 Problems

    Chapter 13. The text Widget and htmllib

    13.1 Overview of the text Widget

    13.2 Creating a text Widget

    13.3 Text Widget Subcommands

    13.4 HTML Display Package

    13.5 Bottom Line

    13.6 Problems

    Chapter 14. Tk Megawidgets

    14.1 Standard Dialog Widgets

    14.2 Megawidget Building Philosophy

    14.3 Functionality That Makes Megawidgets Possible

    14.4 Building a Megawidget

    14.5 A Scrolling Listbox Megawidget

    14.6 Namespaces and TK Widgets

    14.7 Incorporating a Megawidget into a Larger Megawidget

    14.8 Making a Modal Megawidget: The grab and tkwait Commands

    14.9 Automating Megawidget Construction

    14.10 Building Megawidgets with TclOO

    14.11 Bottom Line

    14.12 Problems

    Chapter 15. Extending Tcl

    15.1 Functional View of a TCL Extension

    15.2 Building an Extension

    15.3 An Example

    15.4 Complex Data

    15.5 Embedding the Tcl Interpreter

    15.6 Building Tcl and Tk from Sources

    15.7 Bottom Line

    15.8 Problems

    Chapter 16. Applications with Multiple Environments

    16.1 Event Loop

    16.2 Threads

    16.3 Embedded Tcl Interp and Threading

    16.4 Bottom Line

    16.5 Problems

    Chapter 17. Extensions and Packages

    17.1 [incr Tcl]

    17.2 Expect

    17.3 TclX

    17.4 TDBC

    17.5 Rivet

    17.6 BWidgets

    17.7 Graphics Extensions: Img

    17.8 Bottom Line

    Chapter 18. Programming Tools

    18.1 Code Formatter

    18.2 Code Checkers

    18.3 Debuggers

    18.4 Exercising and Regression Testing

    18.5 Packaging Tools

    18.6 Tcl Extension Generators

    18.6 Integrated Development Environments

    18.8 Bottom Line

    Chapter 19. Tips and Techniques

    19.1 Debugging Techniques

    19.2 TCL as a Glue Language: The exec Command

    19.3 Common Mistakes

    19.4 Coding Tips and Techniques

    19.5 Optimization

    19.6 Techniques for Improving Performance

    19.7 Bottom Line

Product details

  • No. of pages: 816
  • Language: English
  • Copyright: © Morgan Kaufmann 2012
  • Published: January 17, 2012
  • Imprint: Morgan Kaufmann
  • Paperback ISBN: 9780123847171
  • eBook ISBN: 9780123847188

About the Author

Clif Flynt

Clif Flynt is a professional programmer and has been a Tcl advocate since 1994. He has developed Tcl applications for the e-commerce, factory control, computer-based education, network analysis, games, firewall configuration, systems administration, and more. He has taught Tcl/Tk seminars in colleges and corporations around the world and writes regularly on Tcl/Tk for the developer community.

Affiliations and Expertise

CEO, Noumena Corporation, Dexter, Michigan

Ratings and Reviews

Write a review

There are currently no reviews for "Tcl/Tk"