Share on Facebook Share on Twitter Email
Answers.com

Tk

 

(ToolKit) A graphical user interface (GUI) library originally developed for the Tcl programming language. Tk is also used with the Perl, Python and Scheme languages. See Tcl/Tk.

Download Computer Desktop Encyclopedia to your iPhone/iTouch

Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Wikipedia: Tk (framework)
Top
Tk
Stable release 8.5.6 / 2008-12-23; 10 months ago
Operating system Cross-platform
Platform Cross-platform
Type Widget toolkit
License BSD-style
Website http://www.tcl.tk

Tk is an open source, cross-platform widget toolkit; that is, a library of basic elements for building a graphical user interface (GUI).

Tk provides a number of widgets commonly needed to develop desktop applications such as button, menu, canvas, text, frame, label etc. Tk has been ported to run on most flavors of Linux, Apple Macintosh, Unix, and Windows. Since Tcl/Tk 8, it offers "native look and feel" (for instance, menus and buttons are displayed in the manner of "native" software for any given platform). Also, there are several extensions to provide external drag-and-drop, non-rectangular windows, and native widgets. A new theming engine called Tk Tile is included in the 8.5 release. Like Tcl, Tk supports Unicode within the Basic Multilingual Plane but it has not yet been extended to handle 32-bit Unicode. On *nix systems, Tk 8.4 and below still use bitmap fonts, but Tk 8.5 uses outline fonts (notably truetype and opentype fonts).

Contents

History

Tk was developed by John Ousterhout as an extension for the Tcl scripting language. Bindings exist for several other languages, including Ada (called TASH), Perl, Python, Ruby, and Common Lisp. Tk versioning was done separately from Tcl until version 8.0.

Architecture

Tk is a platform-independent GUI framework for Tcl. Although Tk can be loaded from the Tcl shell (tclsh) by a "package require" Tk command, it is common to invoke it from the wish (Windowing Shell). It has the following characteristics:

  • Platform-independent: Like Tcl, Tk is interpreted. It has been ported to multiple platforms and can easily run on all of them without modification.
  • Customizable: Almost all of the features of a widget in Tk are customizable though options during the creation of the widget or later on through the configure command.
  • Configurable: Many of the options can be stored in an option database, making it very easy to parameterize the look of an application (such as the color scheme). This also means that storing the application-specific options is only a matter of saving the option add commands and executing them on loading the application.

There are several ways to use Tk from Perl: the Tcl::Tk and Tkx Perl modules, both of which use Tcl as a bridge to access Tk, and Perl/Tk, which provides native Perl access to Tk structures. The Python and Ruby bindings use Tcl as a bridge to Tk.

Features

Tk provides the following widgets:

  • button
  • canvas
  • checkbutton
  • entry
  • frame
  • label
  • labelframe
  • listbox
  • menu
  • menubutton
  • message
  • tk_optionMenu
  • panedwindow
  • radiobutton
  • scale
  • scrollbar
  • spinbox
  • text

as well as the following top-level windows:

  • tk_chooseColor - pops up a dialog box for the user to select a color.
  • tk_chooseDirectory - pops up a dialog box for the user to select a directory.
  • tk_dialog - creates a modal dialog and waits for a response.
  • tk_getOpenFile - pops up a dialog box for the user to select a file to open or save.
  • tk_messageBox - pops up a message window and waits for a user response.
  • tk_popup - posts a popup menu.
  • toplevel - creates and manipulates toplevel widgets.

Tk also provides three geometry managers:

  • place - which positions widgets at absolute locations
  • grid - which arranges widgets in a grid
  • pack - which packs widgets into a cavity

The most unusual and versatile features of Tk are its canvas and text widgets, which provide capabilities found in few, if any other, widget toolkits.[citation needed]

Object-oriented widgets are available with incr Tk and Iwidgets. There are many other useful widgets built on top of Tk such as TkTreeCtrl, BLT (toolkit), Tix Mega-Widgets and TSIPP (a 3D Graphics Toolkit).

See also

External links


 
 

 

Copyrights:

Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2009 Computer Language Company Inc.  All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Tk (framework)" Read more