Tkinter in Python 2.x

In 2008, Guido van Rossum, the author of Python, forked the language into two branches—2.x and 3.x. This was done to clean up the language and make it more consistent.

Python 3.x broke backward compatibility with Python 2.x. For example, the print statement in Python 2.x was replaced by the print() function that would now take arguments as parameters.

We coded all the Tkinter programs in Python Version 3.x. However, in case you need to maintain or write new Tkinter programs in Python 2.x, the transition should not be very difficult.

The core functionality of Tkinter remains the same between 2.x and 3.x. The only significant change to Tkinter when moving from Python 2.x to Python 3.x involves changing the way the Tkinter modules are imported.

Tkinter has been renamed as tkinter in Python 3.x (capitalization has been removed).

Note that in 3.x, the lib-tk directory was renamed to tkinter. Inside this directory, the Tkinter.py file was renamed to __init__.py, thus making tkinter an importable module.

Accordingly, the biggest difference lies in the way you import the tkinter module into your current namespace:

import Tkinter  # for Python 2
import tkinter # for Python 3

Furthermore, note the following changes.

Note how the Python 3 version is cleaner, more elegant, and more systematic in its naming conventions regarding the use of lowercase names for its modules:

Python 3 Python 2

import tkinter.ttk      OR

from tkinter import ttk

import ttk
import tkinter.messagebox import tkMessageBox
import tkinter.colorchooser import tkColorChooser
import tkinter.filedialog import tkFileDialog
import tkinter.simpledialog import tkSimpleDialog
import tkinter.commondialog import tkCommonDialog
import tkinter.font import tkFont
import tkinter.scrolledtext import ScrolledText
import tkinter.tix import Tix

 

The following version will work for both cases:

try:
import tkinter as tk
except ImportError:
import Tkinter as tk

try:
import tkinter.messagebox
except:
import tkMessageBox
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.47.169