<< Chapter < Page Chapter >> Page >

You probably interface with most of the programs that you use on a daily basis through a GUI. If you use Python to create programs that will be usedby non programmers, you may need to provide GUIs for those programs.

What is TCL?

According to the Tcl Developer Xchange ,

"Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible."

What is TK?

Also according to the Tcl Developer Xchange ,

"Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more."

What is tkinter?

According to The Python Standard Library -- 25. Graphical User Interfaces with Tk ,

"Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the tkinter package, and its extension, the tkinter.tix and the tkinter.ttk modules. ... To use tkinter, you don't need to write Tcl code, but you will need to consult the Tk documentation, and occasionally the Tcl documentation. tkinter...usually comes bundled with Python."

According to The Python Standard Library -- 25.1 tkinter -- Python interface to Tcl/Tk ,

"The tkinter package ("Tk interface") is the standard Python interface to the Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems. (Tk itself is not part of Python; it is maintained at ActiveState.) You can check that tkinter is properly installed on your system by running python -m tkinter from the command line; this should open a window demonstrating a simple Tk interface."

Figure 1 shows the result of entering the command given above on the command line on my computer and then clicking the button labeled Click me several times. Clicking the QUIT button will cause the GUI to disappear from the screen asexpected.

Figure 1 . Image of a tkinter test from the command line.

Image of a tkinter test from the command line.

Not the only GUI alternative

You will find other GUI alternatives for Python listed and described at The Python Standard Library -- 25.6. Other Graphical User Interface Packages . However, this module will concentrate on tkinter .

A big and complex topic

The design and implementation of graphical user interfaces is a huge topic that could fill an E-book in its own right. In this module, I will barelyscratch the surface. In particular, I will present and explain one GUI program. Beyond that, I will refer you to several good online resources where you canlearn more about GUI programming in Python if you are interested.

Discussion and sample code

A sample program

Listing 9 presents an unmodified version of a program that was published by Mark Roseman at TkDocs under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Canada (CC BY-NC-SA 2.5 CA) license. This program GUI allows the user to enter a length value in feet.When the user presses a button labeled Calculate , the corresponding length value in meters is displayed. This process can be repeateduntil the user presses the X-button in the upper-right corner of the GUI, which terminates the program and removes the GUI from the screen.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask