[Python编程(第4版)].(Programming.Python.4th.Edition).Mark.Lutz.文字版

(yzsuai) #1

import textConfig # startup font and colors
configs = textConfig.dict # work if not on the path or bad
except: # define in client app directory
configs = {}


helptext = """PyEdit version %s
April, 2010
(2.0: January, 2006)
(1.0: October, 2000)


Programming Python, 4th Edition
Mark Lutz, for O'Reilly Media, Inc.


A text editor program and embeddable object
component, written in Python/tkinter. Use
menu tear-offs and toolbar for quick access
to actions, and Alt-key shortcuts for menus.


Additions in version %s:



  • supports Python 3.X

  • new "grep" external files search dialog

  • verifies app quit if other edit windows changed

  • supports arbitrary Unicode encodings for files

  • allows multiple change and font dialogs

  • various improvements to the Run Code option


Prior version additions:



  • font pick dialog

  • unlimited undo/redo

  • quit/open/new/run prompt save only if changed

  • searches are case-insensitive

  • startup configuration module textConfig.py
    """


START = '1.0' # index of first char: row=1,col=0
SEL_FIRST = SEL + '.first' # map sel tag to index
SEL_LAST = SEL + '.last' # same as 'sel.last'


FontScale = 0 # use bigger font on Linux
if sys.platform[:3] != 'win': # and other non-Windows boxes
FontScale = 3


################################################################################


Main class: implements editor GUI, actions


requires a flavor of GuiMaker to be mixed in by more specific subclasses;


not a direct subclass of GuiMaker because that class takes multiple forms.


################################################################################


class TextEditor: # mix with menu/toolbar Frame class
startfiledir = '.' # for dialogs
editwindows = [] # for process-wide quit check


Unicode configurations


imported in class to allow overrides in subclass or self


698 | Chapter 11: Complete GUI Programs

Free download pdf