Chetan Mittal
Chetan Mittal Dev - Blog


Chetan Mittal Dev - Blog


How to download and install TCL/TK in 2023 to build GUIs

Chetan Mittal's photo
Chetan Mittal
·Mar 9, 2023·

3 min read

How to download and install TCL/TK in 2023 to build GUIs
Play this article

Table of contents

  • Downloading and Installing TCL/TK
  • Creating a GUI Program with TK
  • Conclusion

TCL/TK is a great option to create desktop graphical user interfaces (GUIs) even in 2023. TCL is a software programming language introduced in 1988 by a US-based software programmer, John Ousterhout, and TK is a GUI widget library to generate powerful and native user interfaces.

TCL is a very compact language by nature and is widely used on embedded systems platforms either as a standalone language or as embedded within C programs.

In this article, I'll guide you through the process of downloading and installing TCL/TK, and also of creating a simple GUI program using TK.

Downloading and Installing TCL/TK

Before we can start building GUIs with TCL/TK, I need you to download and install the programming language on your software development machine.

Here's how you can do it:-

  1. Go to the TCL/TK website at

  2. Click on the "Download" link at the top of the page.

  3. Choose the appropriate version of TCL/TK for your operating system. For example, if you're using Windows, click on the "Windows" link.

  4. Download the appropriate installer file for your system. For example, if you're using Windows, download the ".exe" file.

  5. Run the installer and follow the prompts to install TCL/TK on your system.

Note:- As I use EndeavourOS (a flavor of ArchLinux) for all my software programming needs thus it already has TCL installed by default. And, I just needed to install TK by running:-

yay -S tk

Once you've installed TCL/TK, you're ready to start creating GUIs.

Creating a GUI Program with TK

To create a GUI program with TK, I'll be using a combination of TCL code and TK widgets. Here's a simple example program that creates a window with a button:

# Import the TK library
package require Tk

# Define a function to be called when the button is pressed
proc buttonPressed {} {
    puts "Hello, world!"

# Create a window with a button
wm title . "Hello, TK!"
button .button -text "Click me!" -command buttonPressed
pack .button

Let's break this down line by line:

  1. The first line imports the TK library, which gives us access to all of the TK widgets.

  2. The second line defines a function called "buttonPressed" that will be called when the button is pressed. In this case, it simply prints "Hello, world!" to the console.

  3. The third line creates a window and sets its title to "Hello, TK!".

  4. The fourth line creates a button widget with the text "Click me!" and sets its command to call the "buttonPressed" function when clicked.

  5. The fifth line packs the button widget into the window.

To run this program, save it as a file with a ".tcl" extension (e.g. "hello.tcl") and run it from the command line using the TCL interpreter:

tclsh hello.tcl

This will open a window with a button that says "Click me!". When you click the button, the text "Hello, world!" will be printed on the console.

See the screenshot below running the above code.


TCL/TK is a powerful tool for creating GUIs.

By following the steps outlined in this article, you should be able to download and install TCL/TK and create your own simple GUI program using TK widgets.

I remember I built a desktop program using TCL/TK, during my postgrad degree at RMIT Uni, which would find and display all the network nodes in my department in a nice GUI.

With a little bit of practice and experimentation, you can create even more complex and sophisticated GUIs with TCL/TK. Good luck!

P.S. You can also use your favorite software languages too such as Python, Ruby, etc. To build GUIs using TK. See the TK wiki for more information.

Share this