command) or with the method bind.
Example (Hello, World):
-import Tkinter
-from Tkconstants import *
-tk = Tkinter.Tk()
-frame = Tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
+import tkinter
+from tkinter.constants import *
+tk = tkinter.Tk()
+frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
frame.pack(fill=BOTH,expand=1)
-label = Tkinter.Label(frame, text="Hello, World")
+label = tkinter.Label(frame, text="Hello, World")
label.pack(fill=X, expand=1)
-button = Tkinter.Button(frame,text="Exit",command=tk.destroy)
+button = tkinter.Button(frame,text="Exit",command=tk.destroy)
button.pack(side=BOTTOM)
tk.mainloop()
"""
import sys
if sys.platform == "win32":
- import FixTk # Attempt to configure Tcl/Tk without requiring PATH
+ # Attempt to configure Tcl/Tk without requiring PATH
+ from tkinter import _fix
import _tkinter # If this fails your Python may not be configured for Tk
tkinter = _tkinter # b/w compat for export
TclError = _tkinter.TclError
from types import *
-from Tkconstants import *
+from tkinter.constants import *
try:
import MacOS; _MacOS = MacOS; del MacOS
except ImportError:
base_tcl = os.path.join(home, '.%s.tcl' % baseName)
base_py = os.path.join(home, '.%s.py' % baseName)
dir = {'self': self}
- exec 'from Tkinter import *' in dir
+ exec 'from tkinter import *' in dir
if os.path.isfile(class_tcl):
self.tk.call('source', class_tcl)
if os.path.isfile(class_py):
# - title: dialog title
#
-from tkCommonDialog import Dialog
+from tkinter.commondialog import Dialog
#
# base class for tk common dialogues
#
# this module provides a base class for accessing the common
-# dialogues available in Tk 4.2 and newer. use tkFileDialog,
-# tkColorChooser, and tkMessageBox to access the individual
+# dialogues available in Tk 4.2 and newer. use filedialog,
+# colorchooser, and messagebox to access the individual
# dialogs.
#
# written by Fredrik Lundh, May 1997
#
-from Tkinter import *
+from tkinter import *
class Dialog:
-# Dialog.py -- Tkinter interface to the tk_dialog script.
+# dialog.py -- Tkinter interface to the tk_dialog script.
-from Tkinter import *
-from Tkinter import _cnfmerge
+from tkinter import *
+from tkinter import _cnfmerge
if TkVersion <= 3.6:
DIALOG_ICON = 'warning'
"""
-import Tkinter
+import tkinter
# The factory function
self.detach()
if not canvas:
return
- label = Tkinter.Label(canvas, text=self.name,
+ label = tkinter.Label(canvas, text=self.name,
borderwidth=2, relief="raised")
id = canvas.create_window(x, y, window=label, anchor="nw")
self.canvas = canvas
class Tester:
def __init__(self, root):
- self.top = Tkinter.Toplevel(root)
- self.canvas = Tkinter.Canvas(self.top, width=100, height=100)
+ self.top = tkinter.Toplevel(root)
+ self.canvas = tkinter.Canvas(self.top, width=100, height=100)
self.canvas.pack(fill="both", expand=1)
self.canvas.dnd_accept = self.dnd_accept
source.attach(self.canvas, x, y)
def test():
- root = Tkinter.Tk()
+ root = tkinter.Tk()
root.geometry("+1+1")
- Tkinter.Button(command=root.quit, text="Quit").pack()
+ tkinter.Button(command=root.quit, text="Quit").pack()
t1 = Tester(root)
t1.top.geometry("+1+60")
t2 = Tester(root)
"""
-from Tkinter import *
-from Dialog import Dialog
+from tkinter import *
+from tkinter.dialog import Dialog
import os
import fnmatch
__version__ = "0.9"
-import Tkinter
+import tkinter
# weight/slant
NORMAL = "normal"
def __init__(self, root=None, font=None, name=None, exists=False, **options):
if not root:
- root = Tkinter._default_root
+ root = tkinter._default_root
if font:
# get actual settings corresponding to the given font
font = root.tk.splitlist(root.tk.call("font", "actual", font))
self.delete_font = False
# confirm font exists
if self.name not in root.tk.call("font", "names"):
- raise Tkinter._tkinter.TclError, "named font %s does not already exist" % (self.name,)
+ raise tkinter._tkinter.TclError, "named font %s does not already exist" % (self.name,)
# if font config info supplied, apply it
if font:
root.tk.call("font", "configure", self.name, *font)
def families(root=None):
"Get font families (as a tuple)"
if not root:
- root = Tkinter._default_root
+ root = tkinter._default_root
return root.tk.splitlist(root.tk.call("font", "families"))
def names(root=None):
"Get names of defined fonts (as a tuple)"
if not root:
- root = Tkinter._default_root
+ root = tkinter._default_root
return root.tk.splitlist(root.tk.call("font", "names"))
# --------------------------------------------------------------------
if __name__ == "__main__":
- root = Tkinter.Tk()
+ root = tkinter.Tk()
# create a font
f = Font(family="times", size=30, weight=NORMAL)
f = Font(font=("Courier", 20, "bold"))
print f.measure("hello"), f.metrics("linespace")
- w = Tkinter.Label(root, text="Hello, world", font=f)
+ w = tkinter.Label(root, text="Hello, world", font=f)
w.pack()
- w = Tkinter.Button(root, text="Quit!", command=root.destroy)
+ w = tkinter.Button(root, text="Quit!", command=root.destroy)
w.pack()
fb = Font(font=w["font"]).copy()
w.config(font=fb)
- Tkinter.mainloop()
+ tkinter.mainloop()
# - type: dialog type; that is, which buttons to display (see below)
#
-from tkCommonDialog import Dialog
+from tkinter.commondialog import Dialog
#
# constants
# Most methods calls are inherited from the Text widget; Pack methods
# are redirected to the Frame widget however.
-from Tkinter import *
-from Tkinter import _cnfmerge
+from tkinter import *
+from tkinter import _cnfmerge
class ScrolledText(Text):
def __init__(self, master=None, cnf=None, **kw):
"""A simple but flexible modal dialog box."""
-from Tkinter import *
+from tkinter import *
class SimpleDialog:
# appreciate the advantages.
#
-from Tkinter import *
-from Tkinter import _flatten, _cnfmerge, _default_root
+from tkinter import *
+from tkinter import _flatten, _cnfmerge, _default_root
# WARNING - TkVersion is a limited precision floating point number
if TkVersion < 3.999:
# BEWARE - this is implemented by copying some code from the Widget class
# in Tkinter (to override Widget initialization) and is therefore
# liable to break.
-import Tkinter, os
+import tkinter, os
# Could probably add this to Tkinter.Misc
class tixCommand:
else:
return self.tk.call('tix', 'resetoptions', newScheme, newFontSet)
-class Tk(Tkinter.Tk, tixCommand):
+class Tk(tkinter.Tk, tixCommand):
"""Toplevel widget of Tix which represents mostly the main window
of an application. It has an associated Tcl interpreter."""
def __init__(self, screenName=None, baseName=None, className='Tix'):
- Tkinter.Tk.__init__(self, screenName, baseName, className)
+ tkinter.Tk.__init__(self, screenName, baseName, className)
tixlib = os.environ.get('TIX_LIBRARY')
self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]')
if tixlib is not None:
def destroy(self):
# For safety, remove an delete_window binding before destroy
self.protocol("WM_DELETE_WINDOW", "")
- Tkinter.Tk.destroy(self)
+ tkinter.Tk.destroy(self)
# The Tix 'tixForm' geometry manager
class Form:
-Tkinter.Widget.__bases__ = Tkinter.Widget.__bases__ + (Form,)
+tkinter.Widget.__bases__ = tkinter.Widget.__bases__ + (Form,)
-class TixWidget(Tkinter.Widget):
+class TixWidget(tkinter.Widget):
"""A TixWidget class is used to package all (or most) Tix widgets.
Widget initialization is extended in two ways:
# These are missing from Tkinter
def image_create(self, imgtype, cnf={}, master=None, **kw):
if not master:
- master = Tkinter._default_root
+ master = tkinter._default_root
if not master:
raise RuntimeError, 'Too early to create image'
if kw and cnf: cnf = _cnfmerge((cnf, kw))
from math import * # Also for export
from time import sleep
-import Tkinter
+import tkinter
speeds = ['fastest', 'fast', 'normal', 'slow', 'slowest']
# Test the color first
try:
id = self._canvas.create_line(0, 0, 0, 0, fill=color)
- except Tkinter.TclError:
+ except tkinter.TclError:
raise Error, "bad color string: %r" % (color,)
self._set_color(color)
return
# in case nhops==0
self._canvas.coords(item, x0, y0, x1, y1)
self._canvas.itemconfigure(item, arrow="none")
- except Tkinter.TclError:
+ except tkinter.TclError:
# Probably the window was closed!
return
else:
def __init__(self):
global _root, _canvas
if _root is None:
- _root = Tkinter.Tk()
+ _root = tkinter.Tk()
_root.wm_protocol("WM_DELETE_WINDOW", self._destroy)
_root.title(_title)
if _canvas is None:
# XXX Should have scroll bars
- _canvas = Tkinter.Canvas(_root, background="white")
+ _canvas = tkinter.Canvas(_root, background="white")
_canvas.pack(expand=1, fill="both")
setup(width=_width, height= _height, startx=_startx, starty=_starty)