Tk (software)

Tk
Original author(s)John Ousterhout
Developer(s)Tcl Core Team[1]
Initial release1991; 33 years ago (1991)
Stable release
9.0.0[2] Edit this on Wikidata / 26 September 2024
Repository
Written inC
Operating systemCross-platform
PlatformCross-platform
TypeWidget toolkit
LicenseBSD-style[3]
Websitetcl.tk

Tk is a cross-platform widget toolkit that provides a library of basic elements of GUI widgets for building a graphical user interface (GUI) in many programming languages. It is free and open-source software released under a BSD-style software license.

Tk provides many 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, macOS, Unix, and Microsoft Windows. Like Tcl, Tk supports Unicode within the Basic Multilingual Plane, but it has not yet been extended to handle the current extended full Unicode (e.g., UTF-16 from UCS-2 that Tk supports).

Tk was designed to be extended, and a wide range of extensions are available that offer new widgets or other capabilities.[4][5]

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).[6] Highlights of version 8.5 include a new theming engine, originally called Tk Tile,[7] but it is now generally referred to as "themed Tk", as well as improved font rendering.[8] Highlights of version 8.6 include PNG support and angled text.[9]

  1. ^ "Tcl/Tk Core Development". Tcl Developer Xchange. Retrieved 1 November 2016.
  2. ^ "[TCLCORE] Tk 9.0.0 RELEASED".
  3. ^ "Tcl/Tk Licensing Terms". Tcl Developer Xchange. Retrieved 4 November 2016.
  4. ^ Writing a Tk Widget in C, Chapter 46 in Practical Programming in Tcl and Tk, ISBN 0-13-038560-3
  5. ^ "Extensions for Tcl and Tk". Tcler's Wiki. Retrieved 1 November 2016.
  6. ^ "Tcl/Tk 8.0". Tcl Developer Xchange. 18 September 2013. Retrieved 1 July 2014.
  7. ^ "Tile: an improved themeing engine for Tk". SourceForge. Retrieved 4 November 2016.
  8. ^ "Tcl/Tk 8.5 Release Announcement". Tcl Developer Xchange. 18 September 2013. Retrieved 1 July 2014.
  9. ^ "Tcl/Tk 8.6 Release Announcement". Tcl Developer Xchange. 20 September 2013. Retrieved 1 July 2014.