Tkinter, step 2: adapt imports.
This commit is contained in:
parent
3302312383
commit
14fc4270da
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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>")
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
class MultiStatusBar(Frame):
|
class MultiStatusBar(Frame):
|
||||||
|
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
class ScrolledList:
|
class ScrolledList:
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
class SearchDialogBase:
|
class SearchDialogBase:
|
||||||
|
|
||||||
|
|
|
@ -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"):
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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:
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import string
|
import string
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
from idlelib.Delegator import Delegator
|
from idlelib.Delegator import Delegator
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
class WidgetRedirector:
|
class WidgetRedirector:
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
class WindowList:
|
class WindowList:
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from Tkinter import *
|
from tkinter import *
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from idlelib import textView
|
from idlelib import textView
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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=''):
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 "\
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
32
Lib/pydoc.py
32
Lib/pydoc.py
|
@ -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
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
# - title: dialog title
|
# - title: dialog title
|
||||||
#
|
#
|
||||||
|
|
||||||
from tkCommonDialog import Dialog
|
from tkinter.commondialog import Dialog
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -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:
|
||||||
|
|
||||||
|
|
|
@ -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'
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue