Tkinter, step 2: adapt imports.

This commit is contained in:
Georg Brandl 2008-05-17 18:39:55 +00:00
parent 3302312383
commit 14fc4270da
50 changed files with 136 additions and 133 deletions

View File

@ -1,7 +1,7 @@
""" """
An auto-completion window for IDLE, used by the AutoComplete extension An auto-completion window for IDLE, used by the AutoComplete extension
""" """
from Tkinter import * from tkinter import *
from idlelib.MultiCall import MC_SHIFT from idlelib.MultiCall import MC_SHIFT
from idlelib.AutoComplete import COMPLETE_FILES, COMPLETE_ATTRIBUTES from idlelib.AutoComplete import COMPLETE_FILES, COMPLETE_ATTRIBUTES

View File

@ -4,7 +4,7 @@ After ToolTip.py, which uses ideas gleaned from PySol
Used by the CallTips IDLE extension. Used by the CallTips IDLE extension.
""" """
from Tkinter import * from tkinter import *
HIDE_VIRTUAL_EVENT_NAME = "<<calltipwindow-hide>>" HIDE_VIRTUAL_EVENT_NAME = "<<calltipwindow-hide>>"
HIDE_SEQUENCES = ("<Key-Escape>", "<FocusOut>") HIDE_SEQUENCES = ("<Key-Escape>", "<FocusOut>")

View File

@ -9,8 +9,8 @@ variable in the CodeContext section of config-extensions.def. Lines which do
not open blocks are not shown in the context hints pane. not open blocks are not shown in the context hints pane.
""" """
import Tkinter import tkinter
from Tkconstants import TOP, LEFT, X, W, SUNKEN from tkinter.constants import TOP, LEFT, X, W, SUNKEN
import re import re
from sys import maxsize as INFINITY from sys import maxsize as INFINITY
from idlelib.configHandler import idleConf from idlelib.configHandler import idleConf
@ -69,7 +69,7 @@ class CodeContext:
border = 0 border = 0
for widget in widgets: for widget in widgets:
border += int(str( widget.cget('border') )) border += int(str( widget.cget('border') ))
self.label = Tkinter.Label(self.editwin.top, self.label = tkinter.Label(self.editwin.top,
text="\n" * (self.context_depth - 1), text="\n" * (self.context_depth - 1),
anchor=W, justify=LEFT, anchor=W, justify=LEFT,
font=self.textfont, font=self.textfont,

View File

@ -2,7 +2,7 @@ import time
import re import re
import keyword import keyword
import builtins import builtins
from Tkinter import * from tkinter import *
from idlelib.Delegator import Delegator from idlelib.Delegator import Delegator
from idlelib.configHandler import idleConf from idlelib.configHandler import idleConf

View File

@ -1,7 +1,7 @@
import os import os
import bdb import bdb
import types import types
from Tkinter import * from tkinter import *
from idlelib.WindowList import ListedToplevel from idlelib.WindowList import ListedToplevel
from idlelib.ScrolledList import ScrolledList from idlelib.ScrolledList import ScrolledList
from idlelib import macosxSupport from idlelib import macosxSupport

View File

@ -4,9 +4,9 @@ import re
import string import string
import imp import imp
from itertools import count from itertools import count
from Tkinter import * from tkinter import *
import tkSimpleDialog import tkinter.simpledialog as tkSimpleDialog
import tkMessageBox import tkinter.messagebox as tkMessageBox
import traceback import traceback
import webbrowser import webbrowser

View File

@ -1,6 +1,6 @@
import os import os
from Tkinter import * from tkinter import *
import tkMessageBox import tkinter.messagebox as tkMessageBox
class FileList: class FileList:

View File

@ -1,7 +1,7 @@
import os import os
import fnmatch import fnmatch
import sys import sys
from Tkinter import * from tkinter import *
from idlelib import SearchEngine from idlelib import SearchEngine
from idlelib.SearchDialogBase import SearchDialogBase from idlelib.SearchDialogBase import SearchDialogBase

View File

@ -3,11 +3,11 @@ import types
import sys import sys
import codecs import codecs
import tempfile import tempfile
import tkFileDialog import tkinter.filedialog as tkFileDialog
import tkMessageBox import tkinter.messagebox as tkMessageBox
import re import re
from Tkinter import * from tkinter import *
from SimpleDialog import SimpleDialog from tkinter.simpledialog import SimpleDialog
from idlelib.configHandler import idleConf from idlelib.configHandler import idleConf

View File

@ -31,7 +31,7 @@ Each function will be called at most once for each event.
import sys import sys
import re import re
import Tkinter import tkinter
# the event type constants, which define the meaning of mc_type # the event type constants, which define the meaning of mc_type
MC_KEYPRESS=0; MC_KEYRELEASE=1; MC_BUTTONPRESS=2; MC_BUTTONRELEASE=3; MC_KEYPRESS=0; MC_KEYRELEASE=1; MC_BUTTONPRESS=2; MC_BUTTONRELEASE=3;
@ -304,7 +304,7 @@ def MultiCallCreator(widget):
return _multicall_dict[widget] return _multicall_dict[widget]
class MultiCall (widget): class MultiCall (widget):
assert issubclass(widget, Tkinter.Misc) assert issubclass(widget, tkinter.Misc)
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
widget.__init__(self, *args, **kwargs) widget.__init__(self, *args, **kwargs)
@ -396,8 +396,8 @@ def MultiCallCreator(widget):
if __name__ == "__main__": if __name__ == "__main__":
# Test # Test
root = Tkinter.Tk() root = tkinter.Tk()
text = MultiCallCreator(Tkinter.Text)(root) text = MultiCallCreator(tkinter.Text)(root)
text.pack() text.pack()
def bindseq(seq, n=[0]): def bindseq(seq, n=[0]):
def handler(event): def handler(event):

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
class MultiStatusBar(Frame): class MultiStatusBar(Frame):

View File

@ -123,7 +123,7 @@ def make_objecttreeitem(labeltext, object, setfunction=None):
def _test(): def _test():
import sys import sys
from Tkinter import Tk from tkinter import Tk
root = Tk() root = Tk()
root.configure(bd=0, bg="yellow") root.configure(bd=0, bg="yellow")
root.focus_set() root.focus_set()

View File

@ -1,7 +1,7 @@
from Tkinter import * from tkinter import *
from idlelib.EditorWindow import EditorWindow from idlelib.EditorWindow import EditorWindow
import re import re
import tkMessageBox import tkinter.messagebox as tkMessageBox
from idlelib import IOBinding from idlelib import IOBinding
class OutputWindow(EditorWindow): class OutputWindow(EditorWindow):

View File

@ -52,7 +52,7 @@ class Percolator:
filter.setdelegate(None) filter.setdelegate(None)
def main(): def main():
import Tkinter as Tk import tkinter as Tk
class Tracer(Delegator): class Tracer(Delegator):
def __init__(self, name): def __init__(self, name):
self.name = name self.name = name

View File

@ -15,12 +15,12 @@ import linecache
from code import InteractiveInterpreter from code import InteractiveInterpreter
try: try:
from Tkinter import * from tkinter import *
except ImportError: except ImportError:
print("** IDLE can't import Tkinter. " \ print("** IDLE can't import Tkinter. " \
"Your Python may not be configured for Tk. **", file=sys.__stderr__) "Your Python may not be configured for Tk. **", file=sys.__stderr__)
sys.exit(1) sys.exit(1)
import tkMessageBox import tkinter.messagebox as tkMessageBox
from idlelib.EditorWindow import EditorWindow, fixwordbreaks from idlelib.EditorWindow import EditorWindow, fixwordbreaks
from idlelib.FileList import FileList from idlelib.FileList import FileList
@ -983,8 +983,8 @@ class PyShell(OutputWindow):
(sys.version, sys.platform, self.COPYRIGHT, (sys.version, sys.platform, self.COPYRIGHT,
self.firewallmessage, idlever.IDLE_VERSION, nosub)) self.firewallmessage, idlever.IDLE_VERSION, nosub))
self.showprompt() self.showprompt()
import Tkinter import tkinter
Tkinter._default_root = None # 03Jan04 KBK What's this? tkinter._default_root = None # 03Jan04 KBK What's this?
return True return True
def readline(self): def readline(self):

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
from idlelib import SearchEngine from idlelib import SearchEngine
from idlelib.SearchDialogBase import SearchDialogBase from idlelib.SearchDialogBase import SearchDialogBase

View File

@ -22,7 +22,7 @@ import re
import string import string
import tabnanny import tabnanny
import tokenize import tokenize
import tkMessageBox import tkinter.messagebox as tkMessageBox
from idlelib.EditorWindow import EditorWindow from idlelib.EditorWindow import EditorWindow
from idlelib import PyShell from idlelib import PyShell

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
class ScrolledList: class ScrolledList:

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
from idlelib import SearchEngine from idlelib import SearchEngine
from idlelib.SearchDialogBase import SearchDialogBase from idlelib.SearchDialogBase import SearchDialogBase

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
class SearchDialogBase: class SearchDialogBase:

View File

@ -1,6 +1,6 @@
import re import re
from Tkinter import * from tkinter import *
import tkMessageBox import tkinter.messagebox as tkMessageBox
def get(root): def get(root):
if not hasattr(root, "_searchengine"): if not hasattr(root, "_searchengine"):

View File

@ -7,7 +7,7 @@ from idlelib.ObjectBrowser import ObjectTreeItem, make_objecttreeitem
def StackBrowser(root, flist=None, tb=None, top=None): def StackBrowser(root, flist=None, tb=None, top=None):
if top is None: if top is None:
from Tkinter import Toplevel from tkinter import Toplevel
top = Toplevel(root) top = Toplevel(root)
sc = ScrolledCanvas(top, bg="white", highlightthickness=0) sc = ScrolledCanvas(top, bg="white", highlightthickness=0)
sc.frame.pack(expand=1, fill="both") sc.frame.pack(expand=1, fill="both")

View File

@ -3,7 +3,7 @@
# may be useful for some purposes in (or almost in ;) the current project scope # may be useful for some purposes in (or almost in ;) the current project scope
# Ideas gleaned from PySol # Ideas gleaned from PySol
from Tkinter import * from tkinter import *
class ToolTipBase: class ToolTipBase:

View File

@ -15,7 +15,7 @@
# - optimize tree redraw after expand of subnode # - optimize tree redraw after expand of subnode
import os import os
from Tkinter import * from tkinter import *
import imp import imp
from idlelib import ZoomHeight from idlelib import ZoomHeight

View File

@ -1,5 +1,5 @@
import string import string
from Tkinter import * from tkinter import *
from idlelib.Delegator import Delegator from idlelib.Delegator import Delegator

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
class WidgetRedirector: class WidgetRedirector:

View File

@ -1,4 +1,4 @@
from Tkinter import * from tkinter import *
class WindowList: class WindowList:

View File

@ -2,7 +2,7 @@
""" """
from Tkinter import * from tkinter import *
import os import os
from idlelib import textView from idlelib import textView

View File

@ -9,8 +9,10 @@ Note that tab width in IDLE is currently fixed at eight due to Tk issues.
Refer to comments in EditorWindow autoindent code for details. Refer to comments in EditorWindow autoindent code for details.
""" """
from Tkinter import * from tkinter import *
import tkMessageBox, tkColorChooser, tkFont import tkinter.messagebox as tkMessageBox
import tkinter.colorchooser as tkColorChooser
import tkinter.font as tkFont
import copy import copy
from idlelib.configHandler import idleConf from idlelib.configHandler import idleConf

View File

@ -3,9 +3,9 @@
import os import os
import sys import sys
from Tkinter import * from tkinter import *
import tkMessageBox import tkinter.messagebox as tkMessageBox
import tkFileDialog import tkinter.filedialog as tkFileDialog
class GetHelpSourceDialog(Toplevel): class GetHelpSourceDialog(Toplevel):
def __init__(self, parent, title, menuItem='', filePath=''): def __init__(self, parent, title, menuItem='', filePath=''):

View File

@ -2,8 +2,8 @@
Dialog that allows user to specify a new config file section name. Dialog that allows user to specify a new config file section name.
Used to get new highlight theme and keybinding set names. Used to get new highlight theme and keybinding set names.
""" """
from Tkinter import * from tkinter import *
import tkMessageBox import tkinter.messagebox as tkMessageBox
class GetCfgSectionNameDialog(Toplevel): class GetCfgSectionNameDialog(Toplevel):
def __init__(self,parent,title,message,usedNames): def __init__(self,parent,title,message,usedNames):

View File

@ -2,8 +2,8 @@
OptionMenu widget modified to allow dynamic menu reconfiguration OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness and setting of highlightthickness
""" """
from Tkinter import OptionMenu from tkinter import OptionMenu
from Tkinter import _setit from tkinter import _setit
import copy import copy
class DynOptionMenu(OptionMenu): class DynOptionMenu(OptionMenu):

View File

@ -1,8 +1,8 @@
""" """
Dialog for building Tkinter accelerator key bindings Dialog for building Tkinter accelerator key bindings
""" """
from Tkinter import * from tkinter import *
import tkMessageBox import tkinter.messagebox as tkMessageBox
import string import string
class GetKeysDialog(Toplevel): class GetKeysDialog(Toplevel):

View File

@ -3,7 +3,7 @@ A number of function that enhance IDLE on MacOSX when it used as a normal
GUI application (as opposed to an X11 application). GUI application (as opposed to an X11 application).
""" """
import sys import sys
import Tkinter import tkinter
def runningAsOSXApp(): def runningAsOSXApp():
""" Returns True iff running from the IDLE.app bundle on OSX """ """ Returns True iff running from the IDLE.app bundle on OSX """
@ -26,7 +26,7 @@ def addOpenEventSupport(root, flist):
def hideTkConsole(root): def hideTkConsole(root):
try: try:
root.tk.call('console', 'hide') root.tk.call('console', 'hide')
except Tkinter.TclError: except tkinter.TclError:
# Some versions of the Tk framework don't have a console object # Some versions of the Tk framework don't have a console object
pass pass
@ -46,7 +46,7 @@ def overrideRootMenu(root, flist):
# #
# Due to a (mis-)feature of TkAqua the user will also see an empty Help # Due to a (mis-)feature of TkAqua the user will also see an empty Help
# menu. # menu.
from Tkinter import Menu, Text, Text from tkinter import Menu, Text, Text
from idlelib.EditorWindow import prepstr, get_accelerator from idlelib.EditorWindow import prepstr, get_accelerator
from idlelib import Bindings from idlelib import Bindings
from idlelib import WindowList from idlelib import WindowList

View File

@ -127,9 +127,9 @@ def manage_socket(address):
server.handle_request() # A single request only server.handle_request() # A single request only
def show_socket_error(err, address): def show_socket_error(err, address):
import Tkinter import tkinter
import tkMessageBox import tkinter.messagebox as tkMessageBox
root = Tkinter.Tk() root = tkinter.Tk()
root.withdraw() root.withdraw()
if err.args[0] == 61: # connection refused if err.args[0] == 61: # connection refused
msg = "IDLE's subprocess can't connect to %s:%d. This may be due "\ msg = "IDLE's subprocess can't connect to %s:%d. This may be due "\

View File

@ -7,7 +7,7 @@ TabbedPageSet -- A Tkinter implementation of a tabbed-page widget.
TabSet -- A widget containing tabs (buttons) in one or more rows. TabSet -- A widget containing tabs (buttons) in one or more rows.
""" """
from Tkinter import * from tkinter import *
class InvalidNameError(Exception): pass class InvalidNameError(Exception): pass
class AlreadyExistsError(Exception): pass class AlreadyExistsError(Exception): pass

View File

@ -2,8 +2,8 @@
""" """
from Tkinter import * from tkinter import *
import tkMessageBox import tkinter.messagebox as tkMessageBox
class TextViewer(Toplevel): class TextViewer(Toplevel):
"""A simple text viewer dialog for IDLE """A simple text viewer dialog for IDLE
@ -68,7 +68,7 @@ def view_file(parent, title, filename, encoding=None):
else: else:
textFile = open(filename, 'r') textFile = open(filename, 'r')
except IOError: except IOError:
import tkMessageBox import tkinter.messagebox as tkMessageBox
tkMessageBox.showerror(title='File Load Error', tkMessageBox.showerror(title='File Load Error',
message='Unable to load file %r .' % filename, message='Unable to load file %r .' % filename,
parent=parent) parent=parent)

View File

@ -2018,20 +2018,20 @@ def gui():
self.server = None self.server = None
self.scanner = None self.scanner = None
import Tkinter import tkinter
self.server_frm = Tkinter.Frame(window) self.server_frm = tkinter.Frame(window)
self.title_lbl = Tkinter.Label(self.server_frm, self.title_lbl = tkinter.Label(self.server_frm,
text='Starting server...\n ') text='Starting server...\n ')
self.open_btn = Tkinter.Button(self.server_frm, self.open_btn = tkinter.Button(self.server_frm,
text='open browser', command=self.open, state='disabled') text='open browser', command=self.open, state='disabled')
self.quit_btn = Tkinter.Button(self.server_frm, self.quit_btn = tkinter.Button(self.server_frm,
text='quit serving', command=self.quit, state='disabled') text='quit serving', command=self.quit, state='disabled')
self.search_frm = Tkinter.Frame(window) self.search_frm = tkinter.Frame(window)
self.search_lbl = Tkinter.Label(self.search_frm, text='Search for') self.search_lbl = tkinter.Label(self.search_frm, text='Search for')
self.search_ent = Tkinter.Entry(self.search_frm) self.search_ent = tkinter.Entry(self.search_frm)
self.search_ent.bind('<Return>', self.search) self.search_ent.bind('<Return>', self.search)
self.stop_btn = Tkinter.Button(self.search_frm, self.stop_btn = tkinter.Button(self.search_frm,
text='stop', pady=0, command=self.stop, state='disabled') text='stop', pady=0, command=self.stop, state='disabled')
if sys.platform == 'win32': if sys.platform == 'win32':
# Trying to hide and show this button crashes under Windows. # Trying to hide and show this button crashes under Windows.
@ -2050,17 +2050,17 @@ def gui():
self.search_ent.focus_set() self.search_ent.focus_set()
font = ('helvetica', sys.platform == 'win32' and 8 or 10) font = ('helvetica', sys.platform == 'win32' and 8 or 10)
self.result_lst = Tkinter.Listbox(window, font=font, height=6) self.result_lst = tkinter.Listbox(window, font=font, height=6)
self.result_lst.bind('<Button-1>', self.select) self.result_lst.bind('<Button-1>', self.select)
self.result_lst.bind('<Double-Button-1>', self.goto) self.result_lst.bind('<Double-Button-1>', self.goto)
self.result_scr = Tkinter.Scrollbar(window, self.result_scr = tkinter.Scrollbar(window,
orient='vertical', command=self.result_lst.yview) orient='vertical', command=self.result_lst.yview)
self.result_lst.config(yscrollcommand=self.result_scr.set) self.result_lst.config(yscrollcommand=self.result_scr.set)
self.result_frm = Tkinter.Frame(window) self.result_frm = tkinter.Frame(window)
self.goto_btn = Tkinter.Button(self.result_frm, self.goto_btn = tkinter.Button(self.result_frm,
text='go to selected', command=self.goto) text='go to selected', command=self.goto)
self.hide_btn = Tkinter.Button(self.result_frm, self.hide_btn = tkinter.Button(self.result_frm,
text='hide results', command=self.hide) text='hide results', command=self.hide)
self.goto_btn.pack(side='left', fill='x', expand=1) self.goto_btn.pack(side='left', fill='x', expand=1)
self.hide_btn.pack(side='right', fill='x', expand=1) self.hide_btn.pack(side='right', fill='x', expand=1)
@ -2180,9 +2180,9 @@ def gui():
self.stop() self.stop()
self.collapse() self.collapse()
import Tkinter import tkinter
try: try:
root = Tkinter.Tk() root = tkinter.Tk()
# Tk will crash if pythonw.exe has an XP .manifest # Tk will crash if pythonw.exe has an XP .manifest
# file and the root has is not destroyed explicitly. # file and the root has is not destroyed explicitly.
# If the problem is ever fixed in Tk, the explicit # If the problem is ever fixed in Tk, the explicit

View File

@ -18,14 +18,14 @@ Actions are bound to events by resources (e.g. keyword argument
command) or with the method bind. command) or with the method bind.
Example (Hello, World): Example (Hello, World):
import Tkinter import tkinter
from Tkconstants import * from tkinter.constants import *
tk = Tkinter.Tk() tk = tkinter.Tk()
frame = Tkinter.Frame(tk, relief=RIDGE, borderwidth=2) frame = tkinter.Frame(tk, relief=RIDGE, borderwidth=2)
frame.pack(fill=BOTH,expand=1) 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) 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) button.pack(side=BOTTOM)
tk.mainloop() tk.mainloop()
""" """
@ -34,11 +34,11 @@ __version__ = "$Revision$"
import sys import sys
if sys.platform == "win32": 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 import _tkinter # If this fails your Python may not be configured for Tk
tkinter = _tkinter # b/w compat for export
TclError = _tkinter.TclError TclError = _tkinter.TclError
from Tkconstants import * from tkinter.constants import *
try: try:
import MacOS; _MacOS = MacOS; del MacOS import MacOS; _MacOS = MacOS; del MacOS
except ImportError: except ImportError:
@ -1692,7 +1692,7 @@ class Tk(Misc, Wm):
base_tcl = os.path.join(home, '.%s.tcl' % baseName) base_tcl = os.path.join(home, '.%s.tcl' % baseName)
base_py = os.path.join(home, '.%s.py' % baseName) base_py = os.path.join(home, '.%s.py' % baseName)
dir = {'self': self} dir = {'self': self}
exec('from Tkinter import *', dir) exec('from tkinter import *', dir)
if os.path.isfile(class_tcl): if os.path.isfile(class_tcl):
self.tk.call('source', class_tcl) self.tk.call('source', class_tcl)
if os.path.isfile(class_py): if os.path.isfile(class_py):

View File

@ -19,7 +19,7 @@
# - title: dialog title # - title: dialog title
# #
from tkCommonDialog import Dialog from tkinter.commondialog import Dialog
# #

View File

@ -1,14 +1,14 @@
# base class for tk common dialogues # base class for tk common dialogues
# #
# this module provides a base class for accessing the common # this module provides a base class for accessing the common
# dialogues available in Tk 4.2 and newer. use tkFileDialog, # dialogues available in Tk 4.2 and newer. use filedialog,
# tkColorChooser, and tkMessageBox to access the individual # colorchooser, and messagebox to access the individual
# dialogs. # dialogs.
# #
# written by Fredrik Lundh, May 1997 # written by Fredrik Lundh, May 1997
# #
from Tkinter import * from tkinter import *
class Dialog: class Dialog:

View File

@ -1,7 +1,7 @@
# Dialog.py -- Tkinter interface to the tk_dialog script. # dialog.py -- Tkinter interface to the tk_dialog script.
from Tkinter import * from tkinter import *
from Tkinter import _cnfmerge from tkinter import _cnfmerge
if TkVersion <= 3.6: if TkVersion <= 3.6:
DIALOG_ICON = 'warning' DIALOG_ICON = 'warning'

View File

@ -100,7 +100,7 @@ active; it will never call dnd_commit().
""" """
import Tkinter import tkinter
# The factory function # The factory function
@ -219,7 +219,7 @@ class Icon:
self.detach() self.detach()
if not canvas: if not canvas:
return return
label = Tkinter.Label(canvas, text=self.name, label = tkinter.Label(canvas, text=self.name,
borderwidth=2, relief="raised") borderwidth=2, relief="raised")
id = canvas.create_window(x, y, window=label, anchor="nw") id = canvas.create_window(x, y, window=label, anchor="nw")
self.canvas = canvas self.canvas = canvas
@ -268,8 +268,8 @@ class Icon:
class Tester: class Tester:
def __init__(self, root): def __init__(self, root):
self.top = Tkinter.Toplevel(root) self.top = tkinter.Toplevel(root)
self.canvas = Tkinter.Canvas(self.top, width=100, height=100) self.canvas = tkinter.Canvas(self.top, width=100, height=100)
self.canvas.pack(fill="both", expand=1) self.canvas.pack(fill="both", expand=1)
self.canvas.dnd_accept = self.dnd_accept self.canvas.dnd_accept = self.dnd_accept
@ -300,9 +300,9 @@ class Tester:
source.attach(self.canvas, x, y) source.attach(self.canvas, x, y)
def test(): def test():
root = Tkinter.Tk() root = tkinter.Tk()
root.geometry("+1+1") root.geometry("+1+1")
Tkinter.Button(command=root.quit, text="Quit").pack() tkinter.Button(command=root.quit, text="Quit").pack()
t1 = Tester(root) t1 = Tester(root)
t1.top.geometry("+1+60") t1.top.geometry("+1+60")
t2 = Tester(root) t2 = Tester(root)

View File

@ -8,8 +8,8 @@ Classes:
""" """
from Tkinter import * from tkinter import *
from Dialog import Dialog from tkinter.dialog import Dialog
import os import os
import fnmatch import fnmatch

View File

@ -8,7 +8,7 @@
__version__ = "0.9" __version__ = "0.9"
import Tkinter import tkinter
# weight/slant # weight/slant
NORMAL = "normal" NORMAL = "normal"
@ -65,7 +65,7 @@ class Font:
def __init__(self, root=None, font=None, name=None, exists=False, **options): def __init__(self, root=None, font=None, name=None, exists=False, **options):
if not root: if not root:
root = Tkinter._default_root root = tkinter._default_root
if font: if font:
# get actual settings corresponding to the given font # get actual settings corresponding to the given font
font = root.tk.splitlist(root.tk.call("font", "actual", font)) font = root.tk.splitlist(root.tk.call("font", "actual", font))
@ -79,7 +79,8 @@ class Font:
self.delete_font = False self.delete_font = False
# confirm font exists # confirm font exists
if self.name not in root.tk.call("font", "names"): 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 config info supplied, apply it
if font: if font:
root.tk.call("font", "configure", self.name, *font) root.tk.call("font", "configure", self.name, *font)
@ -166,13 +167,13 @@ class Font:
def families(root=None): def families(root=None):
"Get font families (as a tuple)" "Get font families (as a tuple)"
if not root: if not root:
root = Tkinter._default_root root = tkinter._default_root
return root.tk.splitlist(root.tk.call("font", "families")) return root.tk.splitlist(root.tk.call("font", "families"))
def names(root=None): def names(root=None):
"Get names of defined fonts (as a tuple)" "Get names of defined fonts (as a tuple)"
if not root: if not root:
root = Tkinter._default_root root = tkinter._default_root
return root.tk.splitlist(root.tk.call("font", "names")) return root.tk.splitlist(root.tk.call("font", "names"))
# -------------------------------------------------------------------- # --------------------------------------------------------------------
@ -180,7 +181,7 @@ def names(root=None):
if __name__ == "__main__": if __name__ == "__main__":
root = Tkinter.Tk() root = tkinter.Tk()
# create a font # create a font
f = Font(family="times", size=30, weight=NORMAL) f = Font(family="times", size=30, weight=NORMAL)
@ -202,10 +203,10 @@ if __name__ == "__main__":
f = Font(font=("Courier", 20, "bold")) f = Font(font=("Courier", 20, "bold"))
print(f.measure("hello"), f.metrics("linespace")) 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.pack()
w = Tkinter.Button(root, text="Quit!", command=root.destroy) w = tkinter.Button(root, text="Quit!", command=root.destroy)
w.pack() w.pack()
fb = Font(font=w["font"]).copy() fb = Font(font=w["font"]).copy()
@ -213,4 +214,4 @@ if __name__ == "__main__":
w.config(font=fb) w.config(font=fb)
Tkinter.mainloop() tkinter.mainloop()

View File

@ -22,7 +22,7 @@
# - type: dialog type; that is, which buttons to display (see below) # - type: dialog type; that is, which buttons to display (see below)
# #
from tkCommonDialog import Dialog from tkinter.commondialog import Dialog
# #
# constants # constants

View File

@ -10,8 +10,8 @@
# Most methods calls are inherited from the Text widget; Pack methods # Most methods calls are inherited from the Text widget; Pack methods
# are redirected to the Frame widget however. # are redirected to the Frame widget however.
from Tkinter import * from tkinter import *
from Tkinter import _cnfmerge from tkinter import _cnfmerge
class ScrolledText(Text): class ScrolledText(Text):
def __init__(self, master=None, cnf=None, **kw): def __init__(self, master=None, cnf=None, **kw):

View File

@ -1,7 +1,7 @@
"""A simple but flexible modal dialog box.""" """A simple but flexible modal dialog box."""
from Tkinter import * from tkinter import *
class SimpleDialog: class SimpleDialog:

View File

@ -26,8 +26,8 @@
# appreciate the advantages. # appreciate the advantages.
# #
from Tkinter import * from tkinter import *
from Tkinter import _flatten, _cnfmerge, _default_root from tkinter import _flatten, _cnfmerge, _default_root
# WARNING - TkVersion is a limited precision floating point number # WARNING - TkVersion is a limited precision floating point number
if TkVersion < 3.999: if TkVersion < 3.999:
@ -57,7 +57,7 @@ TCL_ALL_EVENTS = 0
# BEWARE - this is implemented by copying some code from the Widget class # BEWARE - this is implemented by copying some code from the Widget class
# in Tkinter (to override Widget initialization) and is therefore # in Tkinter (to override Widget initialization) and is therefore
# liable to break. # liable to break.
import Tkinter, os import tkinter, os
# Could probably add this to Tkinter.Misc # Could probably add this to Tkinter.Misc
class tixCommand: class tixCommand:
@ -192,11 +192,11 @@ class tixCommand:
else: else:
return self.tk.call('tix', 'resetoptions', newScheme, newFontSet) 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 """Toplevel widget of Tix which represents mostly the main window
of an application. It has an associated Tcl interpreter.""" of an application. It has an associated Tcl interpreter."""
def __init__(self, screenName=None, baseName=None, className='Tix'): 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') tixlib = os.environ.get('TIX_LIBRARY')
self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]') self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]')
if tixlib is not None: if tixlib is not None:
@ -212,7 +212,7 @@ class Tk(Tkinter.Tk, tixCommand):
def destroy(self): def destroy(self):
# For safety, remove an delete_window binding before destroy # For safety, remove an delete_window binding before destroy
self.protocol("WM_DELETE_WINDOW", "") self.protocol("WM_DELETE_WINDOW", "")
Tkinter.Tk.destroy(self) tkinter.Tk.destroy(self)
# The Tix 'tixForm' geometry manager # The Tix 'tixForm' geometry manager
class Form: class Form:
@ -260,9 +260,9 @@ 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. """A TixWidget class is used to package all (or most) Tix widgets.
Widget initialization is extended in two ways: Widget initialization is extended in two ways:
@ -383,7 +383,7 @@ class TixWidget(Tkinter.Widget):
# These are missing from Tkinter # These are missing from Tkinter
def image_create(self, imgtype, cnf={}, master=None, **kw): def image_create(self, imgtype, cnf={}, master=None, **kw):
if not master: if not master:
master = Tkinter._default_root master = tkinter._default_root
if not master: if not master:
raise RuntimeError('Too early to create image') raise RuntimeError('Too early to create image')
if kw and cnf: cnf = _cnfmerge((cnf, kw)) if kw and cnf: cnf = _cnfmerge((cnf, kw))

View File

@ -16,7 +16,7 @@ pictures can easily be drawn.
from math import * # Also for export from math import * # Also for export
from time import sleep from time import sleep
import Tkinter import tkinter
speeds = ['fastest', 'fast', 'normal', 'slow', 'slowest'] speeds = ['fastest', 'fast', 'normal', 'slow', 'slowest']
@ -238,7 +238,7 @@ class RawPen:
# Test the color first # Test the color first
try: try:
id = self._canvas.create_line(0, 0, 0, 0, fill=color) id = self._canvas.create_line(0, 0, 0, 0, fill=color)
except Tkinter.TclError: except tkinter.TclError:
raise Error("bad color string: %r" % (color,)) raise Error("bad color string: %r" % (color,))
self._set_color(color) self._set_color(color)
return return
@ -554,7 +554,7 @@ class RawPen:
# in case nhops==0 # in case nhops==0
self._canvas.coords(item, x0, y0, x1, y1) self._canvas.coords(item, x0, y0, x1, y1)
self._canvas.itemconfigure(item, arrow="none") self._canvas.itemconfigure(item, arrow="none")
except Tkinter.TclError: except tkinter.TclError:
# Probably the window was closed! # Probably the window was closed!
return return
else: else:
@ -638,13 +638,13 @@ class Pen(RawPen):
def __init__(self): def __init__(self):
global _root, _canvas global _root, _canvas
if _root is None: if _root is None:
_root = Tkinter.Tk() _root = tkinter.Tk()
_root.wm_protocol("WM_DELETE_WINDOW", self._destroy) _root.wm_protocol("WM_DELETE_WINDOW", self._destroy)
_root.title(_title) _root.title(_title)
if _canvas is None: if _canvas is None:
# XXX Should have scroll bars # XXX Should have scroll bars
_canvas = Tkinter.Canvas(_root, background="white") _canvas = tkinter.Canvas(_root, background="white")
_canvas.pack(expand=1, fill="both") _canvas.pack(expand=1, fill="both")
setup(width=_width, height= _height, startx=_startx, starty=_starty) setup(width=_width, height= _height, startx=_startx, starty=_starty)