Python Training in Hyderabad
Python Training in Hyderabad
GUI toolkit. Both Tk and tkinter are available on most Unix platforms, including
macOS, as well as on Windows systems.
Running python -m tkinter from the command line should open a window
demonstrating a simple Tk interface, letting you know that tkinter is properly
installed on your system, and also showing what version of Tcl/Tk is installed, so you
can read the Tcl/Tk documentation specific to that version.
Tkinter supports a range of Tcl/Tk versions, built either with or without thread
support. The official Python binary release bundles Tcl/Tk 8.6 threaded. See the
source code for the _tkinter module for more information about supported
versions.
Tkinter is not a thin wrapper, but adds a fair amount of its own logic to make the experience more
pythonic. This documentation will concentrate on these additions and changes, and refer to the
official Tcl/Tk documentation for details that are unchanged.
Architecture
Tcl/Tk is not a single library but rather consists of a few distinct modules, each with
separate functionality and its own official documentation. Python’s binary releases
also ship an add-on module together with it.
Tcl
Tcl is a dynamic interpreted programming language, just like Python. Though
it can be used on its own as a general-purpose programming language, it is
most commonly embedded into C applications as a scripting engine or an
interface to the Tk toolkit. The Tcl library has a C interface to create and
manage one or more instances of a Tcl interpreter, run Tcl commands and
scripts in those instances, and add custom commands implemented in either
Tcl or C. Each interpreter has an event queue, and there are facilities to send
events to it and process them. Unlike Python, Tcl’s execution model is
designed around cooperative multitasking, and Tkinter bridges this difference
(see Threading model for details).
Tk
Tk is a TCl Package implemented in C that adds custom commands to create
and manipulate GUI widgets. Each object embeds its own Tcl interpreter
instance with Tk loaded into it. Tk’s widgets are very customizable, though at
the cost of a dated appearance. Tk uses Tcl’s event queue to generate and
process GUI events.
www.vcubesoftsolutions.com
Ttk
Themed Tk (Ttk) is a newer family of Tk widgets that provide a much better
appearance on different platforms than many of the classic Tk widgets. Ttk is
distributed as part of Tk, starting with Tk version 8.5. Python bindings are
provided in a separate module, tkinter.ttk.
Tkinter Modules
Support for Tkinter is spread across several modules. Most applications will need the
main tkinter module, as well as the tkinter.ttk module, which provides the modern
themed widget set and API:
tkinter
Main Tkinter module.
www.vcubesoftsolutions.com
tkinter.colorchooser
Dialog to let the user choose a color.
tkinter.commondialog
Base class for the dialogs defined in the other modules listed here.
tkinter.filedialog
Common dialogs to allow the user to specify a file to open or save.
tkinter.font
Utilities to help work with fonts.
tkinter.messagebox
Access to standard Tk dialog boxes.
tkinter.scrolledtext
Text widget with a vertical scroll bar built in.
tkinter.simpledialog
Basic dialogs and convenience functions.
tkinter.ttk
Themed widget set introduced in Tk 8.5, providing modern alternatives for
many of the classic widgets in the main tkinter module.
Additional modules:
_tkinter
A binary module that contains the low-level interface to Tcl/Tk. It is
automatically imported by the main tkinter module, and should never be
used directly by application programmers. It is usually a shared library (or
DLL), but might in some cases be statically linked with the Python interpreter.
idlelib
Python’s Integrated Development and Learning Environment (IDLE). Based
on tkinter.
tkinter.constants
Symbolic constants that can be used in place of strings when passing various
parameters to Tkinter calls. Automatically imported by the
main tkinter module.
tkinter.dnd
(experimental) Drag-and-drop support for tkinter. This will become
deprecated when it is replaced with the Tk DND.
tkinter.tix
www.vcubesoftsolutions.com
(deprecated) An older third-party Tcl/Tk package that adds several new
widgets. Better alternatives for most can be found in tkinter.ttk.
turtle
Turtle graphics in a Tk window.
The remainder of this section will help you to identify the classes, methods, and
options you’ll need in your Tkinter application, and where to find more detailed
documentation on them, including in the official Tcl/Tk reference manual.
We’ll start by walking through a “Hello World” application in Tkinter. This isn’t the smallest
one we could write, but has enough to illustrate some key concepts you’ll need to know.
After the imports, the next line creates an instance of the Tk class,
which initializes Tk and creates its associated Tcl interpreter. It also creates a
toplevel window, known as the root window, which serves as the main window of the
application.
The following line creates a frame widget, which in this case will contain a label and
a button we’ll create next. The frame is fit inside the root window.
The next line creates a label widget holding a static text string. The grid() method
is used to specify the relative layout (position) of the label within its containing frame
widget, similar to how tables in HTML work.
A button widget is then created, and placed to the right of the label. When pressed, it
will call the destroy() method of the root window.
Finally, the mainloop() method puts everything on the display, and responds to
user input until the program terminates.
www.vcubesoftsolutions.com
www.vcubesoftsolutions.com